monkey-front-components 0.0.277 → 0.0.278

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.
@@ -24,7 +24,7 @@ export class BaseScrollComponent extends BaseComponent {
24
24
  return false;
25
25
  }
26
26
  element.scrollTop = savedScroll;
27
- this.deferredRestore = false;
27
+ this.deferredRestore = true;
28
28
  return true;
29
29
  }
30
30
  addScrollTopListeners() {
@@ -67,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
67
67
  selector: '[baseScrollComponent]'
68
68
  }]
69
69
  }], ctorParameters: function () { return [{ type: Object }, { type: i1.Router }]; } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zY3JvbGwtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2Jhc2UvYmFzZS1zY3JvbGwtY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBdUIsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFLakQsTUFBTSxPQUFnQixtQkFBb0IsU0FBUSxhQUFhO0lBTTdELFlBQW9CLElBQVksRUFBVSxHQUFXO1FBQ25ELEtBQUssRUFBRSxDQUFDO1FBRFUsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFKN0MseUJBQW9CLEdBQThCLEVBQUUsQ0FBQztRQUVyRCxvQkFBZSxHQUFHLEtBQUssQ0FBQztJQUloQyxDQUFDO0lBRU8sVUFBVSxDQUFDLEdBQVc7UUFDNUIsTUFBTSxPQUFPLEdBQVEsUUFBUSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztJQUNyRCxDQUFDO0lBRU8sYUFBYSxDQUFDLEdBQVc7UUFDL0IsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sT0FBTyxHQUFRLFFBQVEsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNoQixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztZQUM3QixPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsT0FBTyxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUM7UUFDaEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8scUJBQXFCO1FBQzNCLElBQUksbUJBQW1CLElBQUksT0FBTyxFQUFFO1lBQ2xDLE9BQU8sQ0FBQyxpQkFBaUIsR0FBRyxRQUFRLENBQUM7U0FDdEM7UUFFRCxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDaEMsSUFBSSxLQUFLLFlBQVksZUFBZSxFQUFFO2dCQUNwQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDL0I7aUJBQU0sSUFBSSxLQUFLLFlBQVksYUFBYSxFQUFFO2dCQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2xDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7d0JBQ2QsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFOzRCQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQzs0QkFDOUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7eUJBQzlCO29CQUNILENBQUMsQ0FBQyxDQUFDO29CQUNILElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO2lCQUM3QjthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1NBQzlCO0lBQ0gsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQzs7Z0hBNURtQixtQkFBbUIsa0JBTWIsTUFBTTtvR0FOWixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFIeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2lCQUNsQzswREFPMkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFmdGVyQ29udGVudENoZWNrZWQsIERpcmVjdGl2ZSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLWNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tiYXNlU2Nyb2xsQ29tcG9uZW50XSdcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVNjcm9sbENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudENoZWNrZWQge1xuICBwcml2YXRlIHJvdXRlU2Nyb2xsUG9zaXRpb25zOiB7IFt1cmw6IHN0cmluZ106IG51bWJlciB9ID0ge307XG5cbiAgcHJpdmF0ZSBkZWZlcnJlZFJlc3RvcmUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9wSWQ6IE9iamVjdCwgcHJpdmF0ZSBfcnQ6IFJvdXRlcikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwcml2YXRlIHNhdmVTY3JvbGwodXJsOiBzdHJpbmcpIHtcbiAgICBjb25zdCBlbGVtZW50OiBhbnkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVyLTMnKTtcbiAgICB0aGlzLnJvdXRlU2Nyb2xsUG9zaXRpb25zW3VybF0gPSBlbGVtZW50LnNjcm9sbFRvcDtcbiAgfVxuXG4gIHByaXZhdGUgcmVzdG9yZVNjcm9sbCh1cmw6IHN0cmluZykge1xuICAgIGNvbnN0IHNhdmVkU2Nyb2xsID0gdGhpcy5yb3V0ZVNjcm9sbFBvc2l0aW9uc1t1cmxdO1xuICAgIGNvbnN0IGVsZW1lbnQ6IGFueSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXItMycpO1xuICAgIGlmICghc2F2ZWRTY3JvbGwpIHtcbiAgICAgIHRoaXMuZGVmZXJyZWRSZXN0b3JlID0gZmFsc2U7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgZWxlbWVudC5zY3JvbGxUb3AgPSBzYXZlZFNjcm9sbDtcbiAgICB0aGlzLmRlZmVycmVkUmVzdG9yZSA9IGZhbHNlO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRTY3JvbGxUb3BMaXN0ZW5lcnMoKSB7XG4gICAgaWYgKCdzY3JvbGxSZXN0b3JhdGlvbicgaW4gaGlzdG9yeSkge1xuICAgICAgaGlzdG9yeS5zY3JvbGxSZXN0b3JhdGlvbiA9ICdtYW51YWwnO1xuICAgIH1cblxuICAgIHRoaXMuX3J0LmV2ZW50cy5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgICAgIHRoaXMuc2F2ZVNjcm9sbCh0aGlzLl9ydC51cmwpO1xuICAgICAgfSBlbHNlIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgaWYgKCF0aGlzLnJlc3RvcmVTY3JvbGwoZXZlbnQudXJsKSkge1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuZGVmZXJyZWRSZXN0b3JlKSB7XG4gICAgICAgICAgICAgIHRoaXMucmVzdG9yZVNjcm9sbChldmVudC51cmwpO1xuICAgICAgICAgICAgICB0aGlzLmRlZmVycmVkUmVzdG9yZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMuZGVmZXJyZWRSZXN0b3JlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMuX3BJZCkpIHtcbiAgICAgIHRoaXMuYWRkU2Nyb2xsVG9wTGlzdGVuZXJzKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCkge1xuICAgIGlmICh0aGlzLmRlZmVycmVkUmVzdG9yZSkge1xuICAgICAgdGhpcy5yZXN0b3JlU2Nyb2xsKHRoaXMuX3J0LnVybCk7XG4gICAgfVxuICB9XG59XG4iXX0=
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zY3JvbGwtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2Jhc2UvYmFzZS1zY3JvbGwtY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBdUIsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFLakQsTUFBTSxPQUFnQixtQkFBb0IsU0FBUSxhQUFhO0lBTTdELFlBQW9CLElBQVksRUFBVSxHQUFXO1FBQ25ELEtBQUssRUFBRSxDQUFDO1FBRFUsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFKN0MseUJBQW9CLEdBQThCLEVBQUUsQ0FBQztRQUVyRCxvQkFBZSxHQUFHLEtBQUssQ0FBQztJQUloQyxDQUFDO0lBRU8sVUFBVSxDQUFDLEdBQVc7UUFDNUIsTUFBTSxPQUFPLEdBQVEsUUFBUSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztJQUNyRCxDQUFDO0lBRU8sYUFBYSxDQUFDLEdBQVc7UUFDL0IsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sT0FBTyxHQUFRLFFBQVEsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNoQixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztZQUM3QixPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsT0FBTyxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUM7UUFDaEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDNUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8scUJBQXFCO1FBQzNCLElBQUksbUJBQW1CLElBQUksT0FBTyxFQUFFO1lBQ2xDLE9BQU8sQ0FBQyxpQkFBaUIsR0FBRyxRQUFRLENBQUM7U0FDdEM7UUFFRCxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDaEMsSUFBSSxLQUFLLFlBQVksZUFBZSxFQUFFO2dCQUNwQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDL0I7aUJBQU0sSUFBSSxLQUFLLFlBQVksYUFBYSxFQUFFO2dCQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2xDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7d0JBQ2QsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFOzRCQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQzs0QkFDOUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7eUJBQzlCO29CQUNILENBQUMsQ0FBQyxDQUFDO29CQUNILElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO2lCQUM3QjthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1NBQzlCO0lBQ0gsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQzs7Z0hBNURtQixtQkFBbUIsa0JBTWIsTUFBTTtvR0FOWixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFIeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2lCQUNsQzswREFPMkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFmdGVyQ29udGVudENoZWNrZWQsIERpcmVjdGl2ZSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLWNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tiYXNlU2Nyb2xsQ29tcG9uZW50XSdcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVNjcm9sbENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudENoZWNrZWQge1xuICBwcml2YXRlIHJvdXRlU2Nyb2xsUG9zaXRpb25zOiB7IFt1cmw6IHN0cmluZ106IG51bWJlciB9ID0ge307XG5cbiAgcHJpdmF0ZSBkZWZlcnJlZFJlc3RvcmUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9wSWQ6IE9iamVjdCwgcHJpdmF0ZSBfcnQ6IFJvdXRlcikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwcml2YXRlIHNhdmVTY3JvbGwodXJsOiBzdHJpbmcpIHtcbiAgICBjb25zdCBlbGVtZW50OiBhbnkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVyLTMnKTtcbiAgICB0aGlzLnJvdXRlU2Nyb2xsUG9zaXRpb25zW3VybF0gPSBlbGVtZW50LnNjcm9sbFRvcDtcbiAgfVxuXG4gIHByaXZhdGUgcmVzdG9yZVNjcm9sbCh1cmw6IHN0cmluZykge1xuICAgIGNvbnN0IHNhdmVkU2Nyb2xsID0gdGhpcy5yb3V0ZVNjcm9sbFBvc2l0aW9uc1t1cmxdO1xuICAgIGNvbnN0IGVsZW1lbnQ6IGFueSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXItMycpO1xuICAgIGlmICghc2F2ZWRTY3JvbGwpIHtcbiAgICAgIHRoaXMuZGVmZXJyZWRSZXN0b3JlID0gZmFsc2U7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgZWxlbWVudC5zY3JvbGxUb3AgPSBzYXZlZFNjcm9sbDtcbiAgICB0aGlzLmRlZmVycmVkUmVzdG9yZSA9IHRydWU7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcml2YXRlIGFkZFNjcm9sbFRvcExpc3RlbmVycygpIHtcbiAgICBpZiAoJ3Njcm9sbFJlc3RvcmF0aW9uJyBpbiBoaXN0b3J5KSB7XG4gICAgICBoaXN0b3J5LnNjcm9sbFJlc3RvcmF0aW9uID0gJ21hbnVhbCc7XG4gICAgfVxuXG4gICAgdGhpcy5fcnQuZXZlbnRzLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcbiAgICAgICAgdGhpcy5zYXZlU2Nyb2xsKHRoaXMuX3J0LnVybCk7XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xuICAgICAgICBpZiAoIXRoaXMucmVzdG9yZVNjcm9sbChldmVudC51cmwpKSB7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5kZWZlcnJlZFJlc3RvcmUpIHtcbiAgICAgICAgICAgICAgdGhpcy5yZXN0b3JlU2Nyb2xsKGV2ZW50LnVybCk7XG4gICAgICAgICAgICAgIHRoaXMuZGVmZXJyZWRSZXN0b3JlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5kZWZlcnJlZFJlc3RvcmUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5fcElkKSkge1xuICAgICAgdGhpcy5hZGRTY3JvbGxUb3BMaXN0ZW5lcnMoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKSB7XG4gICAgaWYgKHRoaXMuZGVmZXJyZWRSZXN0b3JlKSB7XG4gICAgICB0aGlzLnJlc3RvcmVTY3JvbGwodGhpcy5fcnQudXJsKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -664,7 +664,7 @@ class BaseScrollComponent extends BaseComponent {
664
664
  return false;
665
665
  }
666
666
  element.scrollTop = savedScroll;
667
- this.deferredRestore = false;
667
+ this.deferredRestore = true;
668
668
  return true;
669
669
  }
670
670
  addScrollTopListeners() {
@@ -1 +1 @@
1
- {"version":3,"file":"monkey-front-components.mjs","sources":["../../../projects/monkey-front-components/src/lib/components/base/base-component.ts","../../../projects/monkey-front-components/src/lib/components/base/base-validators.ts","../../../projects/monkey-front-components/src/lib/components/base/base-dynamic-array.ts","../../../projects/monkey-front-components/src/lib/components/base/base-dynamic.ts","../../../projects/monkey-front-components/src/lib/components/base/base-scroll-component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/file-upload/file-upload.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/file-upload/file-upload.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/button/button.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/button/button.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/input/input.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/input/input.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/input-phone/input-phone.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/input-phone/input-phone.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/radio/radio.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/radio/radio.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/select/select.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/select/select.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/select-search/select-search.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/select-search/select-search.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/dynamic-directive.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/form/dynamic-form.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/form/dynamic-form.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/form/dynamic-form-array.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/form/dynamic-form-array.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/dynamic.module.ts","../../../projects/monkey-front-components/src/lib/components/shared/password-strength/password-strength.component.ts","../../../projects/monkey-front-components/src/lib/components/shared/password-strength/password-strength.component.html","../../../projects/monkey-front-components/src/lib/components/shared/password-strength/password-strength.module.ts","../../../projects/monkey-front-components/src/lib/components/shared/progress-bar/progress-bar.service.ts","../../../projects/monkey-front-components/src/lib/components/shared/progress-bar/progress-bar.component.ts","../../../projects/monkey-front-components/src/lib/components/shared/progress-bar/progress-bar.component.html","../../../projects/monkey-front-components/src/lib/components/shared/progress-bar/progress-bar.module.ts","../../../projects/monkey-front-components/src/public-api.ts","../../../projects/monkey-front-components/src/monkey-front-components.ts"],"sourcesContent":["/* eslint-disable max-len */\nimport { AbstractControl, FormGroup } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { OnDestroy, Directive } from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { MonkeyUtils } from 'monkey-style-guide';\nimport {\n MonkeyEcxCommonsService,\n MonkeyEcxErrorResponse,\n MonkeyEcxPaginationOptions,\n MonkeyEcxScrollOptions,\n MonkeyEcxSupportOptions,\n MonkeyEcxTranslateOptions,\n ValidateUtils\n} from 'monkey-front-core';\n\n@Directive({\n selector: '[baseComponent]'\n})\nexport abstract class BaseComponent implements OnDestroy {\n __monkeyecxFormErrors: any | any[];\n\n __unsubscribeAll: Subject<any>;\n\n __paginationOptions: MonkeyEcxPaginationOptions | null = null;\n\n __i18n: any;\n\n __isMobile = this.isMobile();\n\n __locales = ['pt-BR', 'es-CL'];\n\n private paginationFunc: any;\n\n protected constructor() {\n this.__unsubscribeAll = new Subject();\n }\n\n private isMobile() {\n const isMobileWidth = (window.screen.width <= 640) ||\n (window.matchMedia &&\n window.matchMedia('only screen and (max-width: 640px)').matches\n );\n return (/Android|webOS|iPhone|iPad|iPod|BlackBerry|Mobile/i.test(\n navigator.userAgent\n )) || isMobileWidth;\n }\n\n private handlePagination(create = true) {\n const { __paginationOptions } = this;\n\n if (__paginationOptions) {\n const { mainElement, service } = __paginationOptions;\n\n const element = document.getElementById(mainElement);\n\n if (element) {\n element.scroll = null;\n element.onscroll = null;\n\n element.removeEventListener('scroll', (element as any).eventListeners('scroll'));\n element.removeEventListener('scroll', (element as any).eventListeners('scroll')[0]);\n if (create) {\n element.addEventListener('scroll', () => {\n const { scrollTop, scrollHeight, offsetHeight } = element;\n const contentHeight = scrollHeight - offsetHeight;\n\n if (contentHeight <= scrollTop) {\n service.doPagination();\n }\n });\n }\n }\n }\n }\n\n private handleSupport(supportControls: MonkeyEcxSupportOptions) {\n const { service, show } = supportControls;\n const method = show ? 'show' : 'hide';\n service[method.toLowerCase()]();\n }\n\n private handleTranslate(translateOptions: MonkeyEcxTranslateOptions) {\n const { service } = translateOptions;\n service.__oni18nDataChanged$\n .pipe(takeUntil(this.__unsubscribeAll))\n .subscribe(() => {\n const data = service.__i18n;\n if (data) {\n this.__i18n = data;\n }\n });\n }\n\n private handleViewScroll(options: MonkeyEcxScrollOptions) {\n const { elementId, service } = options;\n\n if (elementId === service?.__savedState?.scrollElementId) {\n this.goScroll(elementId);\n\n service.__savedState.scrollElementId = null;\n }\n }\n\n private getErrorFirstMessageTranslated(formControl: AbstractControl | null = null) {\n if (formControl?.hasError('required')) return 'FIELD-REQUIRED';\n if (formControl?.hasError('invalid')) return 'FIELD-INVALID';\n if (formControl?.hasError('email')) return 'INVALID-EMAIL';\n if (formControl?.hasError('minlength')) return 'MIN-LENGTH';\n if (formControl?.hasError('maxlength')) return 'MAX-LENGTH';\n if (formControl?.hasError('max')) return 'MAX';\n if (formControl?.hasError('min')) return 'MIN';\n if (formControl?.hasError('passwordsNotMatching')) return 'MATCH-PASSWORD';\n if (formControl?.hasError('invalidDate')) return 'INVALID-DATE';\n if (formControl?.hasError('invalidTrue')) return 'INVALID-TRUE';\n if (formControl?.hasError('invalidCpfCnpj')) return 'INVALID-DOCUMENT';\n if (formControl?.hasError('invalidZipCode')) return 'INVALID-ZIPCODE';\n if (formControl?.hasError('invalidCombo')) return 'INVALID-COMBO';\n if (formControl?.hasError('invalidUrl')) return 'INVALID-URL';\n if (formControl?.hasError('invalidUnlockRegister')) { return 'INVALID-UNLOCK-REGISTER'; }\n if (formControl?.hasError('dateStartMustBeLessThanAnd')) {\n return 'DATE-START-MUST-BE-LESS-THAN-AND';\n }\n if (formControl?.hasError('dateEndMustBeGreaterThanStart')) {\n return 'DATE-END-MUST-BE-GREATER-THAN-SART';\n }\n if (formControl?.hasError('phone')) return 'INVALID-PHONE';\n if (formControl?.hasError('invalidValueGreaterThanZero')) return 'INVALID-GREATER-THAN-ZERO';\n\n return 'FIELD-INVALID';\n }\n\n private getErrorLastMessageNotTranslated(formControl: AbstractControl | null = null) {\n if (formControl?.hasError('minlength')) {\n return `${formControl?.getError('minlength').requiredLength} caracteres.`;\n }\n if (formControl?.hasError('maxlength')) {\n return `${formControl?.getError('maxlength').requiredLength} caracteres.`;\n }\n if (formControl?.hasError('max')) { return `${formControl?.getError('max').max}`; }\n if (formControl?.hasError('min')) { return `${formControl?.getError('min').min}`; }\n\n return '';\n }\n\n public validateFormWithTranslate(f: FormGroup, index?: number): boolean {\n const formErrors: any = f.value;\n\n if (f.status === 'VALID') return true;\n\n if (!formErrors) return true;\n Object.entries(formErrors).forEach(([key, value]) => {\n const control = f.get(key);\n formErrors[key] = '';\n if (control && !control.valid) {\n const msg = {\n first: `ERRORS.${this.getErrorFirstMessageTranslated(f.get(key))}`,\n last: this.getErrorLastMessageNotTranslated(f.get(key))\n };\n formErrors[key] = msg;\n }\n });\n\n if (MonkeyUtils.persistNullEmptyUndefined(index)) { this.__monkeyecxFormErrors[index || 0] = formErrors; } else {\n this.__monkeyecxFormErrors = formErrors;\n }\n\n return false;\n }\n\n public copyToClipboard(val: string) {\n const selBox = document.createElement('textarea');\n selBox.style.position = 'fixed';\n selBox.style.left = '0';\n selBox.style.top = '0';\n selBox.style.opacity = '0';\n selBox.value = val;\n document.body.appendChild(selBox);\n selBox.focus();\n selBox.select();\n document.execCommand('copy');\n document.body.removeChild(selBox);\n }\n\n public validateForm(f: FormGroup, index?: number, alias?: string): boolean {\n const formErrors: any = f.value;\n if (f.status === 'VALID') return true;\n\n if (!formErrors) return true;\n Object.entries(formErrors).forEach(([key, value]) => {\n const control = f.get(key);\n formErrors[key] = '';\n if (control && !control.valid) {\n const msg = {\n firstMessage: `ERRORS.${this.getErrorFirstMessageTranslated(\n f.get(key)\n )}`,\n lastMessage: this.getErrorLastMessageNotTranslated(f.get(key))\n };\n formErrors[key] = msg;\n }\n });\n\n if (MonkeyUtils.persistNullEmptyUndefined(index)) {\n this.__monkeyecxFormErrors[index || 0] = formErrors;\n } else {\n let obj: any;\n\n if (alias) {\n obj = {\n [alias]: {\n ...formErrors\n }\n };\n } else {\n obj = formErrors;\n }\n\n this.__monkeyecxFormErrors = {\n ...this.__monkeyecxFormErrors,\n ...obj\n };\n }\n f.markAllAsTouched();\n return false;\n }\n\n public clearAllServiceData(clearData: boolean) {\n const context = this;\n Object.values(context).forEach((ctx: any) => {\n if (ctx instanceof MonkeyEcxCommonsService) {\n ctx.clear(clearData);\n }\n });\n }\n\n public ngOnInit(args: {\n paginationOptions?: MonkeyEcxPaginationOptions;\n supportControls?: MonkeyEcxSupportOptions;\n scrollOptions?: MonkeyEcxScrollOptions;\n translateOptions?: MonkeyEcxTranslateOptions;\n }) {\n if (args?.paginationOptions) {\n this.__paginationOptions = args?.paginationOptions;\n this.handlePagination();\n }\n if (args?.supportControls) {\n this.handleSupport(args?.supportControls);\n }\n if (args?.translateOptions) {\n this.handleTranslate(args?.translateOptions);\n }\n if (args?.scrollOptions) {\n this.handleViewScroll(args.scrollOptions);\n }\n }\n\n public ngOnDestroy(clearData: boolean = true) {\n this.__unsubscribeAll.next();\n this.__unsubscribeAll.complete();\n this.clearAllServiceData(clearData);\n this.handlePagination(false);\n }\n\n public handleErrorFromServices(error: MonkeyEcxErrorResponse, f: FormGroup) {\n this.__monkeyecxFormErrors = null;\n if (error.type === 'Parameter_Error') {\n Object.entries(f.value).forEach(([key, value]) => {\n error.notifications.forEach((_: any) => {\n const field = _.split(':')[0];\n const description = _.split(':')[1];\n if (field === key) {\n const msg = {\n firstMessage: '',\n lastMessage: description\n };\n this.__monkeyecxFormErrors = {\n ...this.__monkeyecxFormErrors,\n [key]: msg\n };\n f.controls[key].setErrors({\n incorrect: true\n });\n }\n });\n });\n }\n\n f.markAllAsTouched();\n }\n\n public goBack() {\n window.history.back();\n }\n\n public goScroll(id: string) {\n const element = document.getElementById(id);\n if (element) element.scrollIntoView();\n }\n\n public getEmbeddedData(data: any, field: string): any[] | any {\n const { _embedded } = data;\n return _embedded ? _embedded[field] : null;\n }\n\n public openWindow(url: string) {\n window.open(`${url}`, '_blank');\n }\n\n public fillI18n(data: any) {\n this.__i18n = data;\n }\n\n public getCountryPrefix(country: string) {\n return {\n br: 55,\n cl: 56\n }[country];\n }\n\n public getCountryCurrencyChartFormat(country: string) {\n return {\n br: 'R$ #,###,##0.00',\n cl: 'CLP #,###,##0'\n }[country];\n }\n\n public getCountryValidators(country: string) {\n return {\n br: {\n governmentId: ValidateUtils.DocumentValidator\n },\n cl: {\n governmentId: ValidateUtils.DocumentRutValidator\n }\n }[country];\n }\n\n public isAbleToHandlePagination() {\n const { __paginationOptions } = this;\n\n if (__paginationOptions) {\n const { service } = __paginationOptions;\n\n const links = service.__links;\n if (links && links?.next) return true;\n }\n return false;\n }\n\n public onHandlePagination() {\n const { __paginationOptions } = this;\n\n if (__paginationOptions) {\n const { service } = __paginationOptions;\n service.doPagination();\n }\n }\n}\n","import { Validators as Validators_ } from '@angular/forms';\nimport { Validators } from 'monkey-front-core';\n\nexport const validators: any = {\n required: Validators_.required,\n email: Validators.email,\n governmentId: Validators.documentBR,\n governmentIdRut: Validators.documentCL,\n documentBR: Validators.documentBR,\n documentCL: Validators.documentCL,\n date: Validators.date,\n zipCode: Validators.zipCode,\n minLength: (param: number) => {\n return Validators_.minLength(param);\n },\n maxLength: (param: number) => {\n return Validators_.maxLength(param);\n }\n};\n","import { Directive, EventEmitter, Input, OnInit, OnChanges, Output } from '@angular/core';\nimport { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MonkeyUtils } from 'monkey-style-guide';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { MECXFieldConfig, MECXFieldConfigValidator } from '../../interfaces';\nimport { BaseComponent } from './base-component';\nimport { validators } from './base-validators';\n\n@Directive({\n selector: '[baseDynamicArray]'\n})\nexport abstract class BaseDynamicArray extends BaseComponent implements OnInit, OnChanges {\n @Input() onHandleSubmit = new EventEmitter<any>();\n\n @Input() onHandleUpdateForm = new EventEmitter<any>();\n\n @Output() onHandleSubmitFormReady: EventEmitter<any> = new EventEmitter<any>();\n\n @Input() self: any;\n\n @Input() fields: MECXFieldConfig[] = [];\n\n @Input() data: any;\n\n @Input() qtd: number = 1;\n\n @Input() disabled: boolean = false;\n\n _form: FormGroup | null = null;\n\n // eslint-disable-next-line object-curly-newline\n _plusValidations: any[] = [];\n\n private changesUnsubscribe = new Subject();\n\n constructor(private fb: FormBuilder) {\n super();\n }\n\n private handleInternalPlusValidation(\n mainField: any,\n data: any\n ) {\n const { operator, field, value } = mainField;\n const validators: any = {\n e: (val1: any, val2: string) => { return val1 === val2; },\n lt: (val1: any, val2: string) => { return val1 < val2; },\n gt: (val1: any, val2: string) => { return val1 > val2; }\n };\n\n return validators[operator](data?.[field] || data, value);\n }\n\n private makeInternalPlusValidation(\n data: any,\n sourceField: string,\n settings: any,\n rowIndex: number\n ) {\n const changeFields = (show: boolean) => {\n const saved = [...this.fields];\n\n saved.map((val) => {\n const valSaved = {\n ...val\n };\n if (val.name === sourceField) {\n this._plusValidations[rowIndex] = {\n [sourceField]: {\n ...valSaved,\n alwaysShow: show\n }\n };\n this.createOneControl(val.name, this.formValues?.controls[rowIndex], show);\n } else {\n this._plusValidations[rowIndex] = {\n ...valSaved\n };\n }\n return null;\n });\n };\n\n const validated = this.handleInternalPlusValidation(settings, data);\n changeFields(validated);\n }\n\n private createOneControl(fieldName: string, ctrl: any, create = true) {\n const { fields } = this;\n if (!fields) return;\n\n fields.forEach((field: MECXFieldConfig) => {\n const { fieldType, validations, name, disabled } = field;\n if (name !== fieldName) return;\n let { value } = field;\n if (fieldType === 'button') return;\n if (fieldType === 'radiobutton' || fieldType === 'checkbox' || fieldType === 'select') {\n value = '';\n }\n if (create) {\n const control = this.fb.control(value, this.bindValidations(validations || []));\n if (disabled || this.disabled) control.disable();\n ctrl.addControl(name, control);\n } else {\n ctrl.removeControl(name);\n }\n });\n }\n\n private createControl(data?: any) {\n const { fields } = this;\n if (!fields) return null;\n // eslint-disable-next-line object-curly-newline\n const group = this.fb.group({});\n fields.forEach((field: MECXFieldConfig) => {\n const { fieldType, validations, name, disabled, alwaysShow } = field;\n let { value } = field;\n if (field.alwaysShowPlusValidation) {\n if (!this.handleInternalPlusValidation(field.alwaysShowPlusValidation, data)) return;\n } else if (!alwaysShow) return;\n if (fieldType === 'button') return;\n if (fieldType === 'radiobutton' || fieldType === 'checkbox' || fieldType === 'select') {\n value = '';\n }\n const control = this.fb.control(value, this.bindValidations(validations || []));\n if (disabled || this.disabled) control.disable();\n group.addControl(name as string, control);\n });\n\n return group;\n }\n\n private bindValidations(validations: MECXFieldConfigValidator[]) {\n if (validations.length > 0) {\n const validList: any[] = [];\n validations.forEach((valid: MECXFieldConfigValidator) => {\n const validated = valid.param\n ? validators[valid.name](valid.param)\n : validators[valid.name];\n validList.push(validated);\n });\n return Validators.compose(validList);\n }\n return null;\n }\n\n private buildForm(): FormGroup {\n const form = this.fb.group({\n fields: this.fb.array([])\n });\n\n form?.controls.fields?.valueChanges.subscribe((_) => {\n this.watchForChanges();\n });\n\n return form;\n }\n\n private watchForChanges() {\n const { fields, changesUnsubscribe } = this;\n changesUnsubscribe.next();\n\n this.formValues?.controls?.map((control: any, index: number) => {\n fields.forEach((fieldConfig: MECXFieldConfig) => {\n const { name, alwaysShowPlusValidation } = fieldConfig;\n if (!alwaysShowPlusValidation) return;\n const { field } = alwaysShowPlusValidation;\n if (field) {\n control.controls[field]?.valueChanges.pipe(\n takeUntil(changesUnsubscribe)).subscribe((_: any) => {\n this.makeInternalPlusValidation(\n _,\n name as string,\n alwaysShowPlusValidation,\n index\n );\n });\n }\n });\n return null;\n });\n }\n\n public formBase = () => {\n // return this.fb.group(this.createControl());\n return this.createControl();\n };\n\n public get formValues() {\n return this._form ? (this._form.get('fields') as FormArray) : null;\n }\n\n public fillValues() {\n const { data, qtd } = this;\n if ((!this._form) && qtd) return;\n if (qtd > 0) {\n Array<any>(qtd)\n .fill(null)\n .map((_, index) => {\n let form = this.createControl();\n if (data && data[index]) {\n form = this.createControl(data[index]);\n const handledData = data[index];\n Object.entries(handledData).forEach(([key, value]) => {\n if (MonkeyUtils.persistNullEmptyUndefined(value) && form?.controls[key]) {\n form?.controls[key].setValue(value);\n }\n });\n }\n this.formValues?.push(form as any);\n\n return null;\n });\n }\n }\n\n ngOnInit() {\n this._form = this.buildForm();\n this.fillValues();\n\n this.onHandleUpdateForm.subscribe(() => {\n this.fillValues();\n });\n }\n\n ngOnChanges() {\n if (!this._form) {\n this._form = this.buildForm();\n }\n this.fillValues();\n }\n}\n","import { Directive, EventEmitter, Input, OnInit, OnChanges, Output } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MonkeyUtils } from 'monkey-style-guide';\nimport { MECXFieldConfig, MECXFieldConfigValidator } from '../../interfaces';\nimport { BaseComponent } from './base-component';\nimport { validators } from './base-validators';\n\n@Directive({\n selector: '[baseDynamic]'\n})\nexport abstract class BaseDynamic extends BaseComponent implements OnInit, OnChanges {\n @Input() onHandleSubmit = new EventEmitter<any>();\n\n @Input() onHandleUpdateForm = new EventEmitter<any>();\n\n @Output() onHandleSubmitFormReady: EventEmitter<any> = new EventEmitter<any>();\n\n @Input() self: any;\n\n @Input() fields: MECXFieldConfig[] = [];\n\n @Input() data: any;\n\n @Input() disabled: boolean = false;\n\n _form: FormGroup | null = null;\n\n constructor(private fb: FormBuilder) {\n super();\n }\n\n private createControl() {\n const { fields } = this;\n if (!fields) return null;\n // eslint-disable-next-line object-curly-newline\n const group = this.fb.group({});\n fields.forEach((field: MECXFieldConfig) => {\n const { fieldType, validations, name, disabled } = field;\n let { value } = field;\n if (fieldType === 'button') return;\n if (fieldType === 'radiobutton' || fieldType === 'checkbox' || fieldType === 'select') {\n value = '';\n }\n const control = this.fb.control(value, this.bindValidations(validations || []));\n if (disabled || this.disabled) control.disable();\n group.addControl(name as string, control);\n });\n return group;\n }\n\n private bindValidations(validations: MECXFieldConfigValidator[]) {\n if (validations.length > 0) {\n const validList: any[] = [];\n validations.forEach((valid: MECXFieldConfigValidator) => {\n const validated = valid.param\n ? validators[valid.name](valid.param)\n : validators[valid.name];\n validList.push(validated);\n });\n return Validators.compose(validList);\n }\n return null;\n }\n\n public fillValues() {\n const { data } = this;\n if (!data || !this._form) return;\n Object.entries(data).forEach(([key, value]) => {\n if (MonkeyUtils.persistNullEmptyUndefined(value) && this._form?.controls[key]) {\n this._form?.controls[key]?.setValue(value);\n }\n });\n }\n\n ngOnInit() {\n this._form = this.createControl();\n this.fillValues();\n\n this.onHandleUpdateForm.subscribe(() => {\n this.fillValues();\n });\n }\n\n ngOnChanges() {\n if (!this._form) {\n this._form = this.createControl();\n }\n this.fillValues();\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { AfterContentChecked, Directive, OnInit } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { BaseComponent } from './base-component';\n\n@Directive({\n selector: '[baseScrollComponent]'\n})\nexport abstract class BaseScrollComponent extends BaseComponent\n implements OnInit, AfterContentChecked {\n private routeScrollPositions: { [url: string]: number } = {};\n\n private deferredRestore = false;\n\n constructor(private _pId: Object, private _rt: Router) {\n super();\n }\n\n private saveScroll(url: string) {\n const element: any = document.getElementById('container-3');\n this.routeScrollPositions[url] = element.scrollTop;\n }\n\n private restoreScroll(url: string) {\n const savedScroll = this.routeScrollPositions[url];\n const element: any = document.getElementById('container-3');\n if (!savedScroll) {\n this.deferredRestore = false;\n return false;\n }\n\n element.scrollTop = savedScroll;\n this.deferredRestore = false;\n return true;\n }\n\n private addScrollTopListeners() {\n if ('scrollRestoration' in history) {\n history.scrollRestoration = 'manual';\n }\n\n this._rt.events.subscribe(event => {\n if (event instanceof NavigationStart) {\n this.saveScroll(this._rt.url);\n } else if (event instanceof NavigationEnd) {\n if (!this.restoreScroll(event.url)) {\n setTimeout(() => {\n if (this.deferredRestore) {\n this.restoreScroll(event.url);\n this.deferredRestore = false;\n }\n });\n this.deferredRestore = true;\n }\n }\n });\n }\n\n ngOnInit(): void {\n if (isPlatformBrowser(this._pId)) {\n this.addScrollTopListeners();\n }\n }\n\n ngAfterContentChecked() {\n if (this.deferredRestore) {\n this.restoreScroll(this._rt.url);\n }\n }\n}\n","import { ChangeDetectorRef, Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MECXFieldConfig } from '../../../interfaces';\n\n@Component({\n selector: 'mecx-dynamic-file-upload',\n templateUrl: './file-upload.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicFileUploadComponent {\n @Input() _field: MECXFieldConfig;\n\n @Input() _form: FormGroup;\n\n // eslint-disable-next-line object-curly-newline\n @Input() _formErrors: any | any[] = {};\n\n @Input() self: any;\n\n _function: Function = (file: any, callback?: Function) => {\n if (this._form?.disabled) return;\n if (!this._field?.functions?.onHandleUpload) {\n console.error('onHandleUpload not declared');\n return;\n }\n const { func, type } = this._field?.functions?.onHandleUpload;\n if (!func || !this.self[func]) {\n console.error('onHandleUpload not declared');\n return;\n }\n this.self[func](file, type, callback);\n };\n\n constructor(private cdr: ChangeDetectorRef) {\n // not to do\n }\n\n @HostBinding('class')\n get className() {\n return this._field?.style?.class;\n }\n\n ngOnChanges() {\n this.cdr.detectChanges();\n }\n}\n","<monkey-file-upload\n errorMessage=\"{{ _formErrors[_field?.name]?.firstMessage | translate }} {{ _formErrors[_field?.name]?.lastMessage }}\"\n [icon]=\"_field?.icon\" [formControl]=\"_form.controls[_field?.name]\"\n [placeholder]=\"_field?.placeholder | translate\"\n [helperMessage]=\"_field?.helperMessage | translate\" [label]=\"_field?.label | translate\"\n [maxSize]=\"_field?.maxSize || 5242880\" [fileUpload]=\"_function\"\n [maxSizeErrorMessage]=\"'FIELD.FILE.MAX-FILE' | translate\"\n [allowedExtensionErrorMessage]=\"'FIELD.FILE.ALLOWED-EXTENSION' | translate\"\n [allowedExtensions]=\"_field?.allowedExtensions || []\" *ngIf=\"_field\">\n</monkey-file-upload>","import { ChangeDetectorRef, Component, HostBinding, Input, OnChanges, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MECXFieldConfig } from '../../../interfaces';\n\n@Component({\n selector: 'mecx-dynamic-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicButtonComponent implements OnChanges {\n @Input() _field: MECXFieldConfig | null = null;\n\n @Input() _form: FormGroup | null = null;\n\n // eslint-disable-next-line object-curly-newline\n @Input() _formErrors: any | any[] = {};\n\n @Input() self: any;\n\n constructor(private cdr: ChangeDetectorRef) {\n // not to do\n }\n\n @HostBinding('class')\n get className() {\n return this._field?.style?.class;\n }\n\n ngOnChanges() {\n this.cdr.detectChanges();\n }\n\n onClick() {\n const { _form, _field, self } = this;\n if (_form?.disabled || !_field) return;\n const { name, value } = _field;\n const func = _field?.functions?.onClick;\n if (func) {\n self[func]({\n name,\n value,\n form: _form\n });\n }\n }\n}\n","<monkey-button [icon]=\"_field?.icon\" [type]=\"_field?.type\" [color]=\"_field?.color\"\n (click)=\"onClick()\">\n {{ _field?.label | translate }}\n</monkey-button>","import { ChangeDetectorRef, Component, HostBinding, Input, OnChanges, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MonkeyInputComponent } from 'monkey-style-guide';\nimport { MECXFieldConfig } from '../../../interfaces';\n\n@Component({\n selector: 'mecx-dynamic-input',\n templateUrl: './input.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicInputComponent implements OnInit, OnChanges {\n @Input() _field: MECXFieldConfig | null = null;\n\n @Input() _form: FormGroup | null = null;\n\n // eslint-disable-next-line object-curly-newline\n @Input() _formErrors: any | any[] = {};\n\n @Input() self: any;\n\n @ViewChild('inputElement', {\n static: true\n }) inputElement: MonkeyInputComponent | null = null;\n\n constructor(private cdr: ChangeDetectorRef) {\n // not to do\n }\n\n @HostBinding('class')\n get className() {\n return this._field?.style?.class;\n }\n\n ngOnInit() {\n this.cdr.detectChanges();\n }\n\n ngOnChanges() {\n this.cdr.detectChanges();\n }\n\n onChange(event: string) {\n const { _form, _field, self } = this;\n if (!_field || !_form) return;\n const { name } = _field;\n const func = _field?.functions?.onChange;\n const isValid = _form?.get(_field?.name as string)?.valid;\n if (func) {\n self[func]({\n name,\n isValid,\n event,\n ctrl: _form.get(this._field?.name as string),\n form: _form\n });\n }\n }\n}\n","<monkey-input\r\n errorMessage=\"{{ _formErrors[_field?.name]?.firstMessage | translate }} {{ _formErrors[_field?.name]?.lastMessage }}\"\r\n [mask]=\"_field?.mask\" [prefix]=\"_field?.prefix\" [name]=\"_field?.name\"\r\n [formControl]=\"_form.controls[_field?.name]\" [placeholder]=\"_field?.placeholder | translate\"\r\n [helperMessage]=\"_field?.helperMessage | translate\" [label]=\"_field?.label | translate\"\r\n [type]=\"_field?.type\" #inputElement (onChange)=\"onChange($event)\"\r\n [onlyNumber]=\"_field?.onlyNumber\" [currency]=\"_field?.currency\" [maxLength]=\"_field?.maxLength\"\r\n [maxDateToday]=\"_field?.maxDateToday\">\r\n</monkey-input>","import { ChangeDetectorRef, Component, HostBinding, Input, OnChanges, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MonkeyInputComponent } from 'monkey-style-guide';\nimport { MECXFieldConfig } from '../../../interfaces';\n\n@Component({\n selector: 'mecx-dynamic-input-phone',\n templateUrl: './input-phone.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicInputPhoneComponent implements OnInit, OnChanges {\n @Input() _field: MECXFieldConfig | null = null;\n\n @Input() _form: FormGroup | null = null;\n\n // eslint-disable-next-line object-curly-newline\n @Input() _formErrors: any | any[] = {};\n\n @Input() self: any;\n\n @ViewChild('inputElement', {\n static: true\n }) inputElement: MonkeyInputComponent | null = null;\n\n constructor(private cdr: ChangeDetectorRef) {\n // not to do\n }\n\n @HostBinding('class')\n get className() {\n return this._field?.style?.class;\n }\n\n ngOnInit() {\n this.cdr.detectChanges();\n }\n\n ngOnChanges() {\n this.cdr.detectChanges();\n }\n\n onChange(event: string) {\n const { _form, _field, self } = this;\n if (!_field || !_form) return;\n const { name } = _field;\n const func = _field?.functions?.onChange;\n const isValid = _form?.get(_field?.name as string)?.valid;\n if (func) {\n self[func]({\n name,\n isValid,\n event,\n ctrl: _form.get(this._field?.name as string),\n form: _form\n });\n }\n }\n}\n","<monkey-input-phone [name]=\"_field?.name\" [label]=\"_field?.label | translate\"\r\n [helperMessage]=\"_field?.helperMessage | translate\"\r\n [placeholder]=\"_field?.placeholder | translate\" [icon]=\"_field?.icon\"\r\n (onChange)=\"onChange($event)\" [internationalNumber]=\"_field?.internationalNumber\"\r\n errorMessage=\"{{ _formErrors[_field?.name]?.firstMessage | translate }} {{ _formErrors[_field?.name]?.lastMessage }}\"\r\n [maxLength]=\"_field?.maxLength\" [formControl]=\"_form.controls[_field?.name]\" #inputElement>\r\n</monkey-input-phone>","import { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MECXFieldConfig } from '../../../interfaces';\n\n@Component({\n selector: 'mecx-dynamic-radio',\n templateUrl: './radio.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicRadioComponent {\n @Input() _field: MECXFieldConfig | null = null;\n\n @Input() _form: FormGroup | null = null;\n\n // eslint-disable-next-line object-curly-newline\n @Input() _formErrors: any | any[] = {};\n\n @HostBinding('class')\n get className() {\n return this._field?.style?.class;\n }\n}\n","<monkey-radiobutton\n errorMessage=\"{{ _formErrors[_field?.name]?.firstMessage | translate }} {{ _formErrors[_field?.name]?.lastMessage }}\"\n [formControl]=\"_form.controls[_field?.name]\" [helperMessage]=\"_field?.helperMessage | translate\"\n [label]=\"_field?.label | translate\">\n <monkey-option *ngFor=\"let value of _field?.value\" [label]=\"value.description | translate\"\n [value]=\"value.value\">\n </monkey-option>\n</monkey-radiobutton>","import {\n Component,\n HostBinding,\n Input,\n EventEmitter,\n ViewEncapsulation\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MECXFieldConfig, MECXFieldConfigValue } from '../../../interfaces';\n\n@Component({\n selector: 'mecx-dynamic-select',\n templateUrl: './select.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicSelectComponent {\n @Input() _field: MECXFieldConfig | null = null;\n\n @Input() _form: FormGroup | null = null;\n\n // eslint-disable-next-line object-curly-newline\n @Input() _formErrors: any | any[] = {};\n\n @Input() self: any;\n\n @HostBinding('class')\n get className() {\n return this._field?.style?.class;\n }\n\n _onHandleOptions = new EventEmitter<any>();\n\n onHandleGenericLoad() {\n const { _form, _field, self } = this;\n if (_form?.disabled || !_field || !_field?.functions?.onHandleGenericLoad) return;\n const { name } = _field;\n if ((_field?.value as MECXFieldConfigValue[])?.length) return;\n const { func, url } = _field?.functions?.onHandleGenericLoad;\n if (!func || !self[func]) {\n console.error('onHandleGenericLoad not declared');\n return;\n }\n _form?.disable();\n self[func]({\n name,\n url,\n form: _form,\n callback: (data: any[]) => {\n if (this._field) {\n this._field.value = data;\n }\n this._form?.enable();\n this._onHandleOptions.next(null);\n }\n });\n }\n\n onChange(event: string) {\n const { _form, _field, self } = this;\n if (!_field || !_form) return;\n const { name } = _field;\n const func = _field?.functions?.onChange;\n const isValid = _form?.get(_field.name as string)?.valid;\n if (func) {\n self[func]({\n name,\n isValid,\n event,\n ctrl: _form?.get(this._field?.name as string),\n form: _form,\n value: _field.value\n });\n }\n }\n}\n","<monkey-select\n errorMessage=\"{{ _formErrors[_field?.name]?.firstMessage | translate }} {{ _formErrors[_field?.name]?.lastMessage }}\"\n [formControl]=\"_form.controls[_field?.name]\" [helperMessage]=\"_field?.helperMessage | translate\"\n [label]=\"_field?.label | translate\" (click)=\"onHandleGenericLoad()\"\n [onHandleOptions]=\"_onHandleOptions\" (onChange)=\"onChange($event)\"\n [labelSelect]=\"_form.get(_field?.name).value || ('FIELD.SELECT' | translate)\"\n [placeholder]=\"_field?.placeholder | translate\">\n <monkey-option [label]=\"'FIELD.LOADING' | translate\" *ngIf=\"!_field?.value?.length\"\n enableClick=\"false\">\n </monkey-option>\n <monkey-option *ngFor=\"let value of _field?.value\" [label]=\"value.description | translate\"\n [value]=\"value.value\">\n </monkey-option>\n</monkey-select>","import {\n Component,\n HostBinding,\n Input,\n EventEmitter,\n ViewEncapsulation\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MECXFieldConfig, MECXFieldConfigValue } from '../../../interfaces';\n\n@Component({\n selector: 'mecx-dynamic-select-search',\n templateUrl: './select-search.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicSelectSearchComponent {\n @Input() _field: MECXFieldConfig | null = null;\n\n @Input() _form: FormGroup | null = null;\n\n // eslint-disable-next-line object-curly-newline\n @Input() _formErrors: any | any[] = {};\n\n @Input() self: any;\n\n @HostBinding('class')\n get className() {\n return this._field?.style?.class;\n }\n\n _onHandleOptions = new EventEmitter<any>();\n\n onHandleGenericLoad() {\n const { _form, _field, self } = this;\n if (_form?.disabled || !_field || !_field?.functions?.onHandleGenericLoad) return;\n const { name } = _field;\n if ((_field?.value as MECXFieldConfigValue[])?.length) return;\n const { func, url } = _field?.functions?.onHandleGenericLoad;\n if (!func || !self[func]) {\n console.error('onHandleGenericLoad not declared');\n return;\n }\n _form?.disable();\n self[func]({\n name,\n url,\n form: _form,\n callback: (data: any[]) => {\n if (this._field) {\n this._field.value = data;\n }\n this._form?.enable();\n this._onHandleOptions.next(null);\n }\n });\n }\n\n onChange(event: string) {\n const { _form, _field, self } = this;\n if (!_field || !_form) return;\n const { name } = _field;\n const func = _field?.functions?.onChange;\n const isValid = _form?.get(_field?.name as string)?.valid;\n if (func) {\n self[func]({\n name,\n isValid,\n event,\n ctrl: _form.get(this._field?.name as string),\n form: _form,\n value: _field.value\n });\n }\n }\n}\n","<monkey-select-search\n errorMessage=\"{{ _formErrors[_field?.name]?.firstMessage | translate }} {{ _formErrors[_field?.name]?.lastMessage }}\"\n [formControl]=\"_form.controls[_field?.name]\" [helperMessage]=\"_field?.helperMessage | translate\"\n [label]=\"_field?.label | translate\" (click)=\"onHandleGenericLoad()\"\n [onHandleOptions]=\"_onHandleOptions\" (onChange)=\"onChange($event)\"\n [fieldToCompare]=\"_field?.fieldToCompare\"\n [labelSelect]=\"_form.get(_field?.name).value || ('FIELD.SELECT' | translate)\"\n [placeholder]=\"_field?.placeholder | translate\">\n <monkey-option [label]=\"'FIELD.LOADING' | translate\" *ngIf=\"!_field?.value?.length\"\n enableClick=\"false\">\n </monkey-option>\n <monkey-option *ngFor=\"let value of _field?.value\" [label]=\"value.description | translate\"\n [value]=\"value.value\">\n </monkey-option>\n</monkey-select-search>","import {\n ChangeDetectorRef,\n ComponentFactoryResolver,\n Directive,\n Input,\n OnChanges,\n OnInit,\n ViewContainerRef\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MECXFieldConfig } from '../../interfaces';\nimport { MECXDynamicButtonComponent } from './button';\nimport { MECXDynamicFileUploadComponent } from './file-upload';\nimport { MECXDynamicInputComponent } from './input';\nimport { MECXDynamicInputPhoneComponent } from './input-phone';\nimport { MECXDynamicRadioComponent } from './radio';\nimport { MECXDynamicSelectComponent } from './select';\nimport { MECXDynamicSelectSearchComponent } from './select-search';\n\nconst componentMapper: any = {\n input: MECXDynamicInputComponent,\n 'input-phone': MECXDynamicInputPhoneComponent,\n radiobutton: MECXDynamicRadioComponent,\n select: MECXDynamicSelectComponent,\n 'select-search': MECXDynamicSelectSearchComponent,\n 'file-upload': MECXDynamicFileUploadComponent,\n button: MECXDynamicButtonComponent\n};\n\n@Directive({\n selector: '[MECXDynamic]'\n})\nexport class MECXDynamicDirective implements OnInit, OnChanges {\n @Input() field: MECXFieldConfig | null = null;\n\n @Input() form: FormGroup | null = null;\n\n @Input() formErrors: any;\n\n @Input() self: any;\n\n @Input() plusValidations: any;\n\n componentRef: any;\n\n constructor(private resolver: ComponentFactoryResolver, private container: ViewContainerRef,\n private cdr: ChangeDetectorRef) {\n // not to do\n }\n\n private handleInternalPlusValidation() {\n if (!this.field?.alwaysShowPlusValidation) return false;\n const { operator, value, field } = this.field?.alwaysShowPlusValidation;\n const validators: any = {\n e: (val1: any, val2: string) => { return val1 === val2; },\n lt: (val1: any, val2: string) => { return val1 < val2; },\n gt: (val1: any, val2: string) => { return val1 > val2; }\n };\n const data = this.form?.controls[field as string]?.value;\n\n return validators[operator as string](data, value);\n }\n\n private buildComponent() {\n if (this.componentRef?.instance) return;\n const factory = this.resolver.resolveComponentFactory(\n componentMapper[this.field?.fieldType as string]\n );\n this.componentRef = this.container.createComponent(factory);\n this.componentRef.instance._field = this.field;\n this.componentRef.instance._form = this.form;\n // eslint-disable-next-line object-curly-newline\n this.componentRef.instance._formErrors = this.formErrors || {};\n this.componentRef.instance.self = this.self;\n }\n\n ngOnInit() {\n if (!this.field?.alwaysShow && !this.handleInternalPlusValidation()) return;\n this.buildComponent();\n }\n\n ngOnChanges() {\n if (this.plusValidations && this.plusValidations[this.field?.name as string]) {\n if (!this.field?.alwaysShow && this.plusValidations[this.field?.name as string].alwaysShow) {\n setTimeout(() => {\n this.buildComponent();\n this.cdr.detectChanges();\n }, 1);\n }\n if (this.componentRef?.instance &&\n !this.plusValidations[this.field?.name as string].alwaysShow) {\n this.componentRef.destroy();\n this.componentRef = null;\n this.form?.controls[this.field?.name as string]?.setValue(null);\n this.form?.controls[this.field?.name as string]?.clearValidators();\n }\n }\n if (!this.componentRef?.instance) return;\n this.componentRef.instance._formErrors = this.formErrors || {\n };\n }\n}\n","import { Component, OnInit, ViewEncapsulation, OnDestroy, ChangeDetectorRef } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { BaseDynamic } from '../../base/base-dynamic';\n\n@Component({\n selector: 'mecx-dynamic-form',\n templateUrl: './dynamic-form.component.html',\n styles: [],\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicFormComponent extends BaseDynamic implements OnInit, OnDestroy {\n private unsubscribeAll = new Subject();\n\n constructor(fb: FormBuilder, private cdr: ChangeDetectorRef) {\n super(fb);\n }\n\n ngOnInit() {\n super.ngOnInit();\n\n this.onHandleSubmit.pipe(takeUntil(this.unsubscribeAll)).subscribe((func: Function) => {\n this.onSubmit(func);\n });\n }\n\n ngOnDestroy() {\n this.unsubscribeAll.next();\n this.unsubscribeAll.complete();\n }\n\n onSubmit(callback: Function) {\n const { _form } = this;\n // eslint-disable-next-line object-curly-newline\n this.__monkeyecxFormErrors = {};\n\n const isValid = this.validateForm(_form as any);\n this.cdr.detectChanges();\n\n this.onHandleSubmitFormReady.next({\n validate: {\n isValid\n },\n callback,\n form: _form\n });\n }\n}\n","<form name=\"form\" [formGroup]=\"_form\" *ngIf=\"_form\">\n <div class=\"row\">\n <div *ngFor=\"let field of fields;\" MECXDynamic [field]=\"field\" [form]=\"_form\" [self]=\"self\"\n [formErrors]=\"__monkeyecxFormErrors\" [style.display]=\"'none'\">\n </div>\n </div>\n</form>","import { Component, OnInit, ViewEncapsulation, OnDestroy, ChangeDetectorRef } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { BaseDynamicArray } from '../../base';\n\n@Component({\n selector: 'mecx-dynamic-form-array',\n templateUrl: './dynamic-form-array.component.html',\n styleUrls: ['./dynamic-form-array.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicFormArrayComponent extends BaseDynamicArray implements OnInit, OnDestroy {\n private unsubscribeAll = new Subject();\n\n constructor(fb: FormBuilder, private cdr: ChangeDetectorRef) {\n super(fb);\n this.__monkeyecxFormErrors = [];\n }\n\n ngOnInit() {\n super.ngOnInit();\n\n this.onHandleSubmit.pipe(takeUntil(this.unsubscribeAll)).subscribe((func: Function) => {\n this.onSubmit(func);\n });\n }\n\n ngOnDestroy() {\n this.unsubscribeAll.next();\n this.unsubscribeAll.complete();\n }\n\n onSubmit(callback: Function) {\n const { _form } = this;\n // eslint-disable-next-line object-curly-newline\n this.__monkeyecxFormErrors = [];\n\n let validate = {\n isValid: false\n };\n let hasErrors: boolean = false;\n if (this.formValues) {\n this.__monkeyecxFormErrors = [this.formValues.length];\n this.formValues.controls.forEach((item: any, index: number) => {\n if (item instanceof FormGroup) {\n if (!this.validateForm(item, index)) {\n hasErrors = true;\n }\n }\n });\n }\n validate = {\n isValid: !hasErrors\n };\n\n this.cdr.detectChanges();\n\n this.onHandleSubmitFormReady.next({\n validate,\n callback,\n form: _form\n });\n }\n\n onHandleAdd() {\n this.formValues?.push(this.formBase() as any);\n this.cdr.detectChanges();\n }\n\n onHandleRemove(index: number) {\n this.formValues?.removeAt(index);\n this._plusValidations.splice(index, 1);\n }\n}\n","<form name=\"form\" [formGroup]=\"_form\" *ngIf=\"_form\">\n <div formArrayName=\"fields\">\n <div *ngFor=\"let item of formValues.controls; let indForm=index\" [formGroupName]=\"indForm\">\n <monkey-button type=\"secondary\" color=\"error\" icon=\"close-20\" iconPosition=\"right\"\n [label]=\"'BUTTONS.REMOVE' | translate\" (click)=\"onHandleRemove(indForm)\"\n *ngIf=\"formValues.controls.length > 1 && !disabled\">\n </monkey-button>\n <div class=\"row mt-3\">\n <div *ngFor=\"let field of fields;\" MECXDynamic [field]=\"field\" [form]=\"item\" [self]=\"self\"\n [formErrors]=\"__monkeyecxFormErrors[indForm]\"\n [plusValidations]=\"_plusValidations[indForm]\" [style.display]=\"'none'\">\n </div>\n </div>\n </div>\n </div>\n</form>\n<monkey-button type=\"secondary\" color=\"theme\" icon=\"more-20\" iconPosition=\"right\"\n [label]=\"'BUTTONS.ADD' | translate\" (click)=\"onHandleAdd()\" *ngIf=\"!disabled\">\n</monkey-button>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {\n MonkeyButtonModule,\n MonkeyFileUploadModule,\n MonkeyInputModule,\n MonkeyInputPhoneModule,\n MonkeyOptionModule,\n MonkeyRadioButtonModule,\n MonkeySelectModule\n} from 'monkey-style-guide';\nimport { MECXDynamicButtonComponent } from './button';\nimport { MECXDynamicDirective } from './dynamic-directive';\nimport { MECXDynamicFileUploadComponent } from './file-upload';\nimport { MECXDynamicFormComponent, MECXDynamicFormArrayComponent } from './form';\nimport { MECXDynamicInputComponent } from './input';\nimport { MECXDynamicInputPhoneComponent } from './input-phone';\nimport { MECXDynamicRadioComponent } from './radio';\nimport { MECXDynamicSelectComponent } from './select';\nimport { MECXDynamicSelectSearchComponent } from './select-search';\n\n@NgModule({\n declarations: [\n MECXDynamicButtonComponent,\n MECXDynamicFileUploadComponent,\n MECXDynamicFormComponent,\n MECXDynamicFormArrayComponent,\n MECXDynamicInputComponent,\n MECXDynamicInputPhoneComponent,\n MECXDynamicRadioComponent,\n MECXDynamicSelectComponent,\n MECXDynamicSelectSearchComponent,\n MECXDynamicDirective\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MonkeyInputModule,\n MonkeySelectModule,\n MonkeyRadioButtonModule,\n MonkeyOptionModule,\n MonkeyFileUploadModule,\n MonkeyButtonModule,\n MonkeyInputPhoneModule,\n TranslateModule.forChild()\n ],\n exports: [MECXDynamicDirective, MECXDynamicFormComponent, MECXDynamicFormArrayComponent],\n entryComponents: [MECXDynamicInputComponent]\n})\nexport class MECXDynamicModule {}\n","import { Component, Input, OnChanges, ViewEncapsulation, Output, EventEmitter } from '@angular/core';\nimport { MonkeyEcxConfig, MonkeyEcxConfigService, MonkeyEcxUtils } from 'monkey-front-core';\nimport { PasswordStrength } from './password-strength';\n\n@Component({\n selector: 'mecx-password-strength',\n templateUrl: './password-strength.component.html',\n styleUrls: ['./password-strength.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXPasswordStrengthComponent implements OnChanges {\n @Input() passwordToCheck: string | null = null;\n\n @Output() onHandleSubmitReady = new EventEmitter<any>();\n\n _validatorsPasswordPass: Array<PasswordStrength> = [];\n\n _stepPassword = 0;\n\n private validatorsPassword = new Map();\n\n constructor(private configService: MonkeyEcxConfigService) {\n // not do\n }\n\n private handleColor(score: number) {\n let idx = 0;\n if (score > 50) idx = 1;\n if (score === 100) idx = 2;\n this._stepPassword = idx;\n }\n\n private passwordStrengthValidator(pass : string) {\n this._validatorsPasswordPass = [];\n let score = 0;\n\n this.validatorsPassword.forEach((key, value) => {\n this._validatorsPasswordPass.push({\n regex: `${value}`,\n validate: `${key.VALIDATE}` === String(RegExp(`${key.REGEX}`).test(pass)),\n percent: 100 / this.validatorsPassword.size\n });\n });\n\n this._validatorsPasswordPass.forEach((check) => {\n if (check.validate) {\n score += check.percent;\n }\n });\n\n return Math.trunc(score);\n }\n\n private onHandleReady() {\n const validate = this._validatorsPasswordPass?.find(({ validate }) => { return !validate; });\n this.onHandleSubmitReady.next(!validate);\n }\n\n private onHandleChages() {\n const password = this.passwordToCheck;\n this.handleColor(this.passwordStrengthValidator(password as string));\n this.onHandleReady();\n }\n\n private onHandlePasswordStrengthKeys(params: MonkeyEcxConfig) {\n const ps = params?.program?.screens?.login?.passwordStrength;\n if (ps) {\n Object.entries(ps)\n .forEach(([key, value]) => {\n if (MonkeyEcxUtils.persistNullEmptyUndefined(value)) {\n this.validatorsPassword.set(key, value);\n }\n });\n this.onHandleChages();\n }\n }\n\n ngOnInit() {\n this.configService.config().subscribe((_: MonkeyEcxConfig) => {\n this.onHandlePasswordStrengthKeys(_);\n });\n }\n\n ngOnChanges(): void {\n this.onHandleChages();\n }\n}\n","<ng-container *ngIf=\"_validatorsPasswordPass?.length\">\n <div id=\"strength\" class=\"d-flex full-width flex-column justify-content-center align-items-center\"\n #strength>\n <div id=\"strengthBar\" class=\"strength-bar d-flex full-width flex-row\">\n <div class=\"d-flex full-width align-items-center\">\n <div class=\"bar-label\">\n <small>{{ 'SCREENS.LOGIN.REGISTER.PASSWORD-STRENGTH.TITLE' | translate }}</small>\n </div>\n </div>\n <div class=\"d-flex full-width align-items-center flex-column\">\n <div class=\"point\" [class.error]=\"_stepPassword === 0\" [class.warning]=\"_stepPassword === 1\"\n [class.success]=\"_stepPassword === 2\">\n </div>\n <ng-container *ngIf=\"_stepPassword === 0\">\n <ng-container *ngTemplateOutlet=\"stepPasswordLabel\"></ng-container>\n </ng-container>\n </div>\n <div class=\"d-flex full-width align-items-center flex-column\">\n <div class=\"point\" [class.warning]=\"_stepPassword === 1\"\n [class.success]=\"_stepPassword === 2\"></div>\n <ng-container *ngIf=\"_stepPassword === 1\">\n <ng-container *ngTemplateOutlet=\"stepPasswordLabel\"></ng-container>\n </ng-container>\n </div>\n <div class=\"d-flex full-width align-items-center flex-column\">\n <div class=\"point\" [class.success]=\"_stepPassword === 2\"></div>\n <ng-container *ngIf=\"_stepPassword === 2\">\n <ng-container *ngTemplateOutlet=\"stepPasswordLabel\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"callbacks mt-2 row\">\n <div class=\"col-sm-6 mt-2 d-flex justify-content-start\"\n *ngFor=\"let validators of _validatorsPasswordPass\">\n <monkey-icon *ngIf=\"validators.validate\" icon=\"check-circle-20\"></monkey-icon>\n <monkey-icon *ngIf=\"!validators.validate\" icon=\"error-20\"></monkey-icon>\n <span class=\"ml-2\">\n {{ 'SCREENS.LOGIN.REGISTER.PASSWORD-STRENGTH.TYPES.' + validators.regex | translate }}\n </span>\n </div>\n </div>\n</ng-container>\n<ng-template #stepPasswordLabel>\n <div class=\"name-point mt-1\" [class.error]=\"_stepPassword === 0\"\n [class.warning]=\"_stepPassword === 1\" [class.success]=\"_stepPassword === 2\">\n {{ 'SCREENS.LOGIN.REGISTER.PASSWORD-STRENGTH.LABELS.' + _stepPassword | translate }}\n </div>\n</ng-template>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MonkeyEcxDirectivesModule, MonkeyEcxPipesModule } from 'monkey-front-core';\nimport { MonkeyButtonModule, MonkeyInputModule, MonkeyIconModule } from 'monkey-style-guide';\nimport { MECXPasswordStrengthComponent } from './password-strength.component';\n\n@NgModule({\n declarations: [MECXPasswordStrengthComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MonkeyEcxPipesModule,\n MonkeyEcxDirectivesModule,\n MonkeyButtonModule,\n MonkeyInputModule,\n MonkeyIconModule,\n TranslateModule.forChild()\n ],\n exports: [MECXPasswordStrengthComponent]\n})\nexport class MECXPasswordStrengthModule {}\n","import { Injectable } from '@angular/core';\nimport {\n NavigationCancel,\n NavigationEnd,\n NavigationError,\n NavigationStart,\n Router\n} from '@angular/router';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MECXProgressBarService {\n private visible: BehaviorSubject<any> = new BehaviorSubject(false);\n\n constructor(private router: Router) {\n this.init();\n }\n\n private init() {\n this.router.events\n .pipe(\n filter((event: any) => {\n return event instanceof NavigationStart;\n })\n )\n .subscribe(() => {\n this.show();\n });\n\n this.router.events\n .pipe(\n filter((event: any) => {\n return (\n event instanceof NavigationEnd ||\n event instanceof NavigationError ||\n event instanceof NavigationCancel\n );\n })\n )\n .subscribe(() => {\n this.hide();\n });\n }\n\n show() {\n this.visible.next(true);\n }\n\n hide() {\n this.visible.next(false);\n }\n\n visibleConfig(): Observable<any> {\n return this.visible.asObservable();\n }\n}\n","import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { BaseComponent } from '../../base/base-component';\nimport { MECXProgressBarService } from './progress-bar.service';\n\n@Component({\n selector: 'mecx-progress-bar',\n templateUrl: './progress-bar.component.html',\n styleUrls: ['./progress-bar.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXProgressBarComponent extends BaseComponent implements OnInit, OnDestroy {\n visible: boolean = false;\n\n constructor(private progressBarService: MECXProgressBarService) {\n super();\n }\n\n ngOnInit() {\n this.progressBarService\n .visibleConfig()\n .pipe(takeUntil(this.__unsubscribeAll))\n .subscribe((visible: boolean) => {\n this.visible = visible;\n });\n }\n}\n","<ng-container *ngIf=\"visible\">\n <progress class=\"monkey-progress monkey-progress__theme\"></progress>\n</ng-container>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MECXProgressBarComponent } from './progress-bar.component';\n\n@NgModule({\n declarations: [MECXProgressBarComponent],\n imports: [CommonModule],\n exports: [MECXProgressBarComponent]\n})\nexport class MECXProgressBarModule {}\n","/*\n * Public API Surface of monkey-front-components\n */\n\nexport * from './lib/components';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Validators_","Validators"],"mappings":"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"}
1
+ {"version":3,"file":"monkey-front-components.mjs","sources":["../../../projects/monkey-front-components/src/lib/components/base/base-component.ts","../../../projects/monkey-front-components/src/lib/components/base/base-validators.ts","../../../projects/monkey-front-components/src/lib/components/base/base-dynamic-array.ts","../../../projects/monkey-front-components/src/lib/components/base/base-dynamic.ts","../../../projects/monkey-front-components/src/lib/components/base/base-scroll-component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/file-upload/file-upload.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/file-upload/file-upload.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/button/button.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/button/button.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/input/input.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/input/input.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/input-phone/input-phone.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/input-phone/input-phone.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/radio/radio.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/radio/radio.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/select/select.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/select/select.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/select-search/select-search.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/select-search/select-search.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/dynamic-directive.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/form/dynamic-form.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/form/dynamic-form.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/form/dynamic-form-array.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/form/dynamic-form-array.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/dynamic.module.ts","../../../projects/monkey-front-components/src/lib/components/shared/password-strength/password-strength.component.ts","../../../projects/monkey-front-components/src/lib/components/shared/password-strength/password-strength.component.html","../../../projects/monkey-front-components/src/lib/components/shared/password-strength/password-strength.module.ts","../../../projects/monkey-front-components/src/lib/components/shared/progress-bar/progress-bar.service.ts","../../../projects/monkey-front-components/src/lib/components/shared/progress-bar/progress-bar.component.ts","../../../projects/monkey-front-components/src/lib/components/shared/progress-bar/progress-bar.component.html","../../../projects/monkey-front-components/src/lib/components/shared/progress-bar/progress-bar.module.ts","../../../projects/monkey-front-components/src/public-api.ts","../../../projects/monkey-front-components/src/monkey-front-components.ts"],"sourcesContent":["/* eslint-disable max-len */\nimport { AbstractControl, FormGroup } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { OnDestroy, Directive } from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { MonkeyUtils } from 'monkey-style-guide';\nimport {\n MonkeyEcxCommonsService,\n MonkeyEcxErrorResponse,\n MonkeyEcxPaginationOptions,\n MonkeyEcxScrollOptions,\n MonkeyEcxSupportOptions,\n MonkeyEcxTranslateOptions,\n ValidateUtils\n} from 'monkey-front-core';\n\n@Directive({\n selector: '[baseComponent]'\n})\nexport abstract class BaseComponent implements OnDestroy {\n __monkeyecxFormErrors: any | any[];\n\n __unsubscribeAll: Subject<any>;\n\n __paginationOptions: MonkeyEcxPaginationOptions | null = null;\n\n __i18n: any;\n\n __isMobile = this.isMobile();\n\n __locales = ['pt-BR', 'es-CL'];\n\n private paginationFunc: any;\n\n protected constructor() {\n this.__unsubscribeAll = new Subject();\n }\n\n private isMobile() {\n const isMobileWidth = (window.screen.width <= 640) ||\n (window.matchMedia &&\n window.matchMedia('only screen and (max-width: 640px)').matches\n );\n return (/Android|webOS|iPhone|iPad|iPod|BlackBerry|Mobile/i.test(\n navigator.userAgent\n )) || isMobileWidth;\n }\n\n private handlePagination(create = true) {\n const { __paginationOptions } = this;\n\n if (__paginationOptions) {\n const { mainElement, service } = __paginationOptions;\n\n const element = document.getElementById(mainElement);\n\n if (element) {\n element.scroll = null;\n element.onscroll = null;\n\n element.removeEventListener('scroll', (element as any).eventListeners('scroll'));\n element.removeEventListener('scroll', (element as any).eventListeners('scroll')[0]);\n if (create) {\n element.addEventListener('scroll', () => {\n const { scrollTop, scrollHeight, offsetHeight } = element;\n const contentHeight = scrollHeight - offsetHeight;\n\n if (contentHeight <= scrollTop) {\n service.doPagination();\n }\n });\n }\n }\n }\n }\n\n private handleSupport(supportControls: MonkeyEcxSupportOptions) {\n const { service, show } = supportControls;\n const method = show ? 'show' : 'hide';\n service[method.toLowerCase()]();\n }\n\n private handleTranslate(translateOptions: MonkeyEcxTranslateOptions) {\n const { service } = translateOptions;\n service.__oni18nDataChanged$\n .pipe(takeUntil(this.__unsubscribeAll))\n .subscribe(() => {\n const data = service.__i18n;\n if (data) {\n this.__i18n = data;\n }\n });\n }\n\n private handleViewScroll(options: MonkeyEcxScrollOptions) {\n const { elementId, service } = options;\n\n if (elementId === service?.__savedState?.scrollElementId) {\n this.goScroll(elementId);\n\n service.__savedState.scrollElementId = null;\n }\n }\n\n private getErrorFirstMessageTranslated(formControl: AbstractControl | null = null) {\n if (formControl?.hasError('required')) return 'FIELD-REQUIRED';\n if (formControl?.hasError('invalid')) return 'FIELD-INVALID';\n if (formControl?.hasError('email')) return 'INVALID-EMAIL';\n if (formControl?.hasError('minlength')) return 'MIN-LENGTH';\n if (formControl?.hasError('maxlength')) return 'MAX-LENGTH';\n if (formControl?.hasError('max')) return 'MAX';\n if (formControl?.hasError('min')) return 'MIN';\n if (formControl?.hasError('passwordsNotMatching')) return 'MATCH-PASSWORD';\n if (formControl?.hasError('invalidDate')) return 'INVALID-DATE';\n if (formControl?.hasError('invalidTrue')) return 'INVALID-TRUE';\n if (formControl?.hasError('invalidCpfCnpj')) return 'INVALID-DOCUMENT';\n if (formControl?.hasError('invalidZipCode')) return 'INVALID-ZIPCODE';\n if (formControl?.hasError('invalidCombo')) return 'INVALID-COMBO';\n if (formControl?.hasError('invalidUrl')) return 'INVALID-URL';\n if (formControl?.hasError('invalidUnlockRegister')) { return 'INVALID-UNLOCK-REGISTER'; }\n if (formControl?.hasError('dateStartMustBeLessThanAnd')) {\n return 'DATE-START-MUST-BE-LESS-THAN-AND';\n }\n if (formControl?.hasError('dateEndMustBeGreaterThanStart')) {\n return 'DATE-END-MUST-BE-GREATER-THAN-SART';\n }\n if (formControl?.hasError('phone')) return 'INVALID-PHONE';\n if (formControl?.hasError('invalidValueGreaterThanZero')) return 'INVALID-GREATER-THAN-ZERO';\n\n return 'FIELD-INVALID';\n }\n\n private getErrorLastMessageNotTranslated(formControl: AbstractControl | null = null) {\n if (formControl?.hasError('minlength')) {\n return `${formControl?.getError('minlength').requiredLength} caracteres.`;\n }\n if (formControl?.hasError('maxlength')) {\n return `${formControl?.getError('maxlength').requiredLength} caracteres.`;\n }\n if (formControl?.hasError('max')) { return `${formControl?.getError('max').max}`; }\n if (formControl?.hasError('min')) { return `${formControl?.getError('min').min}`; }\n\n return '';\n }\n\n public validateFormWithTranslate(f: FormGroup, index?: number): boolean {\n const formErrors: any = f.value;\n\n if (f.status === 'VALID') return true;\n\n if (!formErrors) return true;\n Object.entries(formErrors).forEach(([key, value]) => {\n const control = f.get(key);\n formErrors[key] = '';\n if (control && !control.valid) {\n const msg = {\n first: `ERRORS.${this.getErrorFirstMessageTranslated(f.get(key))}`,\n last: this.getErrorLastMessageNotTranslated(f.get(key))\n };\n formErrors[key] = msg;\n }\n });\n\n if (MonkeyUtils.persistNullEmptyUndefined(index)) { this.__monkeyecxFormErrors[index || 0] = formErrors; } else {\n this.__monkeyecxFormErrors = formErrors;\n }\n\n return false;\n }\n\n public copyToClipboard(val: string) {\n const selBox = document.createElement('textarea');\n selBox.style.position = 'fixed';\n selBox.style.left = '0';\n selBox.style.top = '0';\n selBox.style.opacity = '0';\n selBox.value = val;\n document.body.appendChild(selBox);\n selBox.focus();\n selBox.select();\n document.execCommand('copy');\n document.body.removeChild(selBox);\n }\n\n public validateForm(f: FormGroup, index?: number, alias?: string): boolean {\n const formErrors: any = f.value;\n if (f.status === 'VALID') return true;\n\n if (!formErrors) return true;\n Object.entries(formErrors).forEach(([key, value]) => {\n const control = f.get(key);\n formErrors[key] = '';\n if (control && !control.valid) {\n const msg = {\n firstMessage: `ERRORS.${this.getErrorFirstMessageTranslated(\n f.get(key)\n )}`,\n lastMessage: this.getErrorLastMessageNotTranslated(f.get(key))\n };\n formErrors[key] = msg;\n }\n });\n\n if (MonkeyUtils.persistNullEmptyUndefined(index)) {\n this.__monkeyecxFormErrors[index || 0] = formErrors;\n } else {\n let obj: any;\n\n if (alias) {\n obj = {\n [alias]: {\n ...formErrors\n }\n };\n } else {\n obj = formErrors;\n }\n\n this.__monkeyecxFormErrors = {\n ...this.__monkeyecxFormErrors,\n ...obj\n };\n }\n f.markAllAsTouched();\n return false;\n }\n\n public clearAllServiceData(clearData: boolean) {\n const context = this;\n Object.values(context).forEach((ctx: any) => {\n if (ctx instanceof MonkeyEcxCommonsService) {\n ctx.clear(clearData);\n }\n });\n }\n\n public ngOnInit(args: {\n paginationOptions?: MonkeyEcxPaginationOptions;\n supportControls?: MonkeyEcxSupportOptions;\n scrollOptions?: MonkeyEcxScrollOptions;\n translateOptions?: MonkeyEcxTranslateOptions;\n }) {\n if (args?.paginationOptions) {\n this.__paginationOptions = args?.paginationOptions;\n this.handlePagination();\n }\n if (args?.supportControls) {\n this.handleSupport(args?.supportControls);\n }\n if (args?.translateOptions) {\n this.handleTranslate(args?.translateOptions);\n }\n if (args?.scrollOptions) {\n this.handleViewScroll(args.scrollOptions);\n }\n }\n\n public ngOnDestroy(clearData: boolean = true) {\n this.__unsubscribeAll.next();\n this.__unsubscribeAll.complete();\n this.clearAllServiceData(clearData);\n this.handlePagination(false);\n }\n\n public handleErrorFromServices(error: MonkeyEcxErrorResponse, f: FormGroup) {\n this.__monkeyecxFormErrors = null;\n if (error.type === 'Parameter_Error') {\n Object.entries(f.value).forEach(([key, value]) => {\n error.notifications.forEach((_: any) => {\n const field = _.split(':')[0];\n const description = _.split(':')[1];\n if (field === key) {\n const msg = {\n firstMessage: '',\n lastMessage: description\n };\n this.__monkeyecxFormErrors = {\n ...this.__monkeyecxFormErrors,\n [key]: msg\n };\n f.controls[key].setErrors({\n incorrect: true\n });\n }\n });\n });\n }\n\n f.markAllAsTouched();\n }\n\n public goBack() {\n window.history.back();\n }\n\n public goScroll(id: string) {\n const element = document.getElementById(id);\n if (element) element.scrollIntoView();\n }\n\n public getEmbeddedData(data: any, field: string): any[] | any {\n const { _embedded } = data;\n return _embedded ? _embedded[field] : null;\n }\n\n public openWindow(url: string) {\n window.open(`${url}`, '_blank');\n }\n\n public fillI18n(data: any) {\n this.__i18n = data;\n }\n\n public getCountryPrefix(country: string) {\n return {\n br: 55,\n cl: 56\n }[country];\n }\n\n public getCountryCurrencyChartFormat(country: string) {\n return {\n br: 'R$ #,###,##0.00',\n cl: 'CLP #,###,##0'\n }[country];\n }\n\n public getCountryValidators(country: string) {\n return {\n br: {\n governmentId: ValidateUtils.DocumentValidator\n },\n cl: {\n governmentId: ValidateUtils.DocumentRutValidator\n }\n }[country];\n }\n\n public isAbleToHandlePagination() {\n const { __paginationOptions } = this;\n\n if (__paginationOptions) {\n const { service } = __paginationOptions;\n\n const links = service.__links;\n if (links && links?.next) return true;\n }\n return false;\n }\n\n public onHandlePagination() {\n const { __paginationOptions } = this;\n\n if (__paginationOptions) {\n const { service } = __paginationOptions;\n service.doPagination();\n }\n }\n}\n","import { Validators as Validators_ } from '@angular/forms';\nimport { Validators } from 'monkey-front-core';\n\nexport const validators: any = {\n required: Validators_.required,\n email: Validators.email,\n governmentId: Validators.documentBR,\n governmentIdRut: Validators.documentCL,\n documentBR: Validators.documentBR,\n documentCL: Validators.documentCL,\n date: Validators.date,\n zipCode: Validators.zipCode,\n minLength: (param: number) => {\n return Validators_.minLength(param);\n },\n maxLength: (param: number) => {\n return Validators_.maxLength(param);\n }\n};\n","import { Directive, EventEmitter, Input, OnInit, OnChanges, Output } from '@angular/core';\nimport { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MonkeyUtils } from 'monkey-style-guide';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { MECXFieldConfig, MECXFieldConfigValidator } from '../../interfaces';\nimport { BaseComponent } from './base-component';\nimport { validators } from './base-validators';\n\n@Directive({\n selector: '[baseDynamicArray]'\n})\nexport abstract class BaseDynamicArray extends BaseComponent implements OnInit, OnChanges {\n @Input() onHandleSubmit = new EventEmitter<any>();\n\n @Input() onHandleUpdateForm = new EventEmitter<any>();\n\n @Output() onHandleSubmitFormReady: EventEmitter<any> = new EventEmitter<any>();\n\n @Input() self: any;\n\n @Input() fields: MECXFieldConfig[] = [];\n\n @Input() data: any;\n\n @Input() qtd: number = 1;\n\n @Input() disabled: boolean = false;\n\n _form: FormGroup | null = null;\n\n // eslint-disable-next-line object-curly-newline\n _plusValidations: any[] = [];\n\n private changesUnsubscribe = new Subject();\n\n constructor(private fb: FormBuilder) {\n super();\n }\n\n private handleInternalPlusValidation(\n mainField: any,\n data: any\n ) {\n const { operator, field, value } = mainField;\n const validators: any = {\n e: (val1: any, val2: string) => { return val1 === val2; },\n lt: (val1: any, val2: string) => { return val1 < val2; },\n gt: (val1: any, val2: string) => { return val1 > val2; }\n };\n\n return validators[operator](data?.[field] || data, value);\n }\n\n private makeInternalPlusValidation(\n data: any,\n sourceField: string,\n settings: any,\n rowIndex: number\n ) {\n const changeFields = (show: boolean) => {\n const saved = [...this.fields];\n\n saved.map((val) => {\n const valSaved = {\n ...val\n };\n if (val.name === sourceField) {\n this._plusValidations[rowIndex] = {\n [sourceField]: {\n ...valSaved,\n alwaysShow: show\n }\n };\n this.createOneControl(val.name, this.formValues?.controls[rowIndex], show);\n } else {\n this._plusValidations[rowIndex] = {\n ...valSaved\n };\n }\n return null;\n });\n };\n\n const validated = this.handleInternalPlusValidation(settings, data);\n changeFields(validated);\n }\n\n private createOneControl(fieldName: string, ctrl: any, create = true) {\n const { fields } = this;\n if (!fields) return;\n\n fields.forEach((field: MECXFieldConfig) => {\n const { fieldType, validations, name, disabled } = field;\n if (name !== fieldName) return;\n let { value } = field;\n if (fieldType === 'button') return;\n if (fieldType === 'radiobutton' || fieldType === 'checkbox' || fieldType === 'select') {\n value = '';\n }\n if (create) {\n const control = this.fb.control(value, this.bindValidations(validations || []));\n if (disabled || this.disabled) control.disable();\n ctrl.addControl(name, control);\n } else {\n ctrl.removeControl(name);\n }\n });\n }\n\n private createControl(data?: any) {\n const { fields } = this;\n if (!fields) return null;\n // eslint-disable-next-line object-curly-newline\n const group = this.fb.group({});\n fields.forEach((field: MECXFieldConfig) => {\n const { fieldType, validations, name, disabled, alwaysShow } = field;\n let { value } = field;\n if (field.alwaysShowPlusValidation) {\n if (!this.handleInternalPlusValidation(field.alwaysShowPlusValidation, data)) return;\n } else if (!alwaysShow) return;\n if (fieldType === 'button') return;\n if (fieldType === 'radiobutton' || fieldType === 'checkbox' || fieldType === 'select') {\n value = '';\n }\n const control = this.fb.control(value, this.bindValidations(validations || []));\n if (disabled || this.disabled) control.disable();\n group.addControl(name as string, control);\n });\n\n return group;\n }\n\n private bindValidations(validations: MECXFieldConfigValidator[]) {\n if (validations.length > 0) {\n const validList: any[] = [];\n validations.forEach((valid: MECXFieldConfigValidator) => {\n const validated = valid.param\n ? validators[valid.name](valid.param)\n : validators[valid.name];\n validList.push(validated);\n });\n return Validators.compose(validList);\n }\n return null;\n }\n\n private buildForm(): FormGroup {\n const form = this.fb.group({\n fields: this.fb.array([])\n });\n\n form?.controls.fields?.valueChanges.subscribe((_) => {\n this.watchForChanges();\n });\n\n return form;\n }\n\n private watchForChanges() {\n const { fields, changesUnsubscribe } = this;\n changesUnsubscribe.next();\n\n this.formValues?.controls?.map((control: any, index: number) => {\n fields.forEach((fieldConfig: MECXFieldConfig) => {\n const { name, alwaysShowPlusValidation } = fieldConfig;\n if (!alwaysShowPlusValidation) return;\n const { field } = alwaysShowPlusValidation;\n if (field) {\n control.controls[field]?.valueChanges.pipe(\n takeUntil(changesUnsubscribe)).subscribe((_: any) => {\n this.makeInternalPlusValidation(\n _,\n name as string,\n alwaysShowPlusValidation,\n index\n );\n });\n }\n });\n return null;\n });\n }\n\n public formBase = () => {\n // return this.fb.group(this.createControl());\n return this.createControl();\n };\n\n public get formValues() {\n return this._form ? (this._form.get('fields') as FormArray) : null;\n }\n\n public fillValues() {\n const { data, qtd } = this;\n if ((!this._form) && qtd) return;\n if (qtd > 0) {\n Array<any>(qtd)\n .fill(null)\n .map((_, index) => {\n let form = this.createControl();\n if (data && data[index]) {\n form = this.createControl(data[index]);\n const handledData = data[index];\n Object.entries(handledData).forEach(([key, value]) => {\n if (MonkeyUtils.persistNullEmptyUndefined(value) && form?.controls[key]) {\n form?.controls[key].setValue(value);\n }\n });\n }\n this.formValues?.push(form as any);\n\n return null;\n });\n }\n }\n\n ngOnInit() {\n this._form = this.buildForm();\n this.fillValues();\n\n this.onHandleUpdateForm.subscribe(() => {\n this.fillValues();\n });\n }\n\n ngOnChanges() {\n if (!this._form) {\n this._form = this.buildForm();\n }\n this.fillValues();\n }\n}\n","import { Directive, EventEmitter, Input, OnInit, OnChanges, Output } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MonkeyUtils } from 'monkey-style-guide';\nimport { MECXFieldConfig, MECXFieldConfigValidator } from '../../interfaces';\nimport { BaseComponent } from './base-component';\nimport { validators } from './base-validators';\n\n@Directive({\n selector: '[baseDynamic]'\n})\nexport abstract class BaseDynamic extends BaseComponent implements OnInit, OnChanges {\n @Input() onHandleSubmit = new EventEmitter<any>();\n\n @Input() onHandleUpdateForm = new EventEmitter<any>();\n\n @Output() onHandleSubmitFormReady: EventEmitter<any> = new EventEmitter<any>();\n\n @Input() self: any;\n\n @Input() fields: MECXFieldConfig[] = [];\n\n @Input() data: any;\n\n @Input() disabled: boolean = false;\n\n _form: FormGroup | null = null;\n\n constructor(private fb: FormBuilder) {\n super();\n }\n\n private createControl() {\n const { fields } = this;\n if (!fields) return null;\n // eslint-disable-next-line object-curly-newline\n const group = this.fb.group({});\n fields.forEach((field: MECXFieldConfig) => {\n const { fieldType, validations, name, disabled } = field;\n let { value } = field;\n if (fieldType === 'button') return;\n if (fieldType === 'radiobutton' || fieldType === 'checkbox' || fieldType === 'select') {\n value = '';\n }\n const control = this.fb.control(value, this.bindValidations(validations || []));\n if (disabled || this.disabled) control.disable();\n group.addControl(name as string, control);\n });\n return group;\n }\n\n private bindValidations(validations: MECXFieldConfigValidator[]) {\n if (validations.length > 0) {\n const validList: any[] = [];\n validations.forEach((valid: MECXFieldConfigValidator) => {\n const validated = valid.param\n ? validators[valid.name](valid.param)\n : validators[valid.name];\n validList.push(validated);\n });\n return Validators.compose(validList);\n }\n return null;\n }\n\n public fillValues() {\n const { data } = this;\n if (!data || !this._form) return;\n Object.entries(data).forEach(([key, value]) => {\n if (MonkeyUtils.persistNullEmptyUndefined(value) && this._form?.controls[key]) {\n this._form?.controls[key]?.setValue(value);\n }\n });\n }\n\n ngOnInit() {\n this._form = this.createControl();\n this.fillValues();\n\n this.onHandleUpdateForm.subscribe(() => {\n this.fillValues();\n });\n }\n\n ngOnChanges() {\n if (!this._form) {\n this._form = this.createControl();\n }\n this.fillValues();\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { AfterContentChecked, Directive, OnInit } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { BaseComponent } from './base-component';\n\n@Directive({\n selector: '[baseScrollComponent]'\n})\nexport abstract class BaseScrollComponent extends BaseComponent\n implements OnInit, AfterContentChecked {\n private routeScrollPositions: { [url: string]: number } = {};\n\n private deferredRestore = false;\n\n constructor(private _pId: Object, private _rt: Router) {\n super();\n }\n\n private saveScroll(url: string) {\n const element: any = document.getElementById('container-3');\n this.routeScrollPositions[url] = element.scrollTop;\n }\n\n private restoreScroll(url: string) {\n const savedScroll = this.routeScrollPositions[url];\n const element: any = document.getElementById('container-3');\n if (!savedScroll) {\n this.deferredRestore = false;\n return false;\n }\n\n element.scrollTop = savedScroll;\n this.deferredRestore = true;\n return true;\n }\n\n private addScrollTopListeners() {\n if ('scrollRestoration' in history) {\n history.scrollRestoration = 'manual';\n }\n\n this._rt.events.subscribe(event => {\n if (event instanceof NavigationStart) {\n this.saveScroll(this._rt.url);\n } else if (event instanceof NavigationEnd) {\n if (!this.restoreScroll(event.url)) {\n setTimeout(() => {\n if (this.deferredRestore) {\n this.restoreScroll(event.url);\n this.deferredRestore = false;\n }\n });\n this.deferredRestore = true;\n }\n }\n });\n }\n\n ngOnInit(): void {\n if (isPlatformBrowser(this._pId)) {\n this.addScrollTopListeners();\n }\n }\n\n ngAfterContentChecked() {\n if (this.deferredRestore) {\n this.restoreScroll(this._rt.url);\n }\n }\n}\n","import { ChangeDetectorRef, Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MECXFieldConfig } from '../../../interfaces';\n\n@Component({\n selector: 'mecx-dynamic-file-upload',\n templateUrl: './file-upload.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicFileUploadComponent {\n @Input() _field: MECXFieldConfig;\n\n @Input() _form: FormGroup;\n\n // eslint-disable-next-line object-curly-newline\n @Input() _formErrors: any | any[] = {};\n\n @Input() self: any;\n\n _function: Function = (file: any, callback?: Function) => {\n if (this._form?.disabled) return;\n if (!this._field?.functions?.onHandleUpload) {\n console.error('onHandleUpload not declared');\n return;\n }\n const { func, type } = this._field?.functions?.onHandleUpload;\n if (!func || !this.self[func]) {\n console.error('onHandleUpload not declared');\n return;\n }\n this.self[func](file, type, callback);\n };\n\n constructor(private cdr: ChangeDetectorRef) {\n // not to do\n }\n\n @HostBinding('class')\n get className() {\n return this._field?.style?.class;\n }\n\n ngOnChanges() {\n this.cdr.detectChanges();\n }\n}\n","<monkey-file-upload\n errorMessage=\"{{ _formErrors[_field?.name]?.firstMessage | translate }} {{ _formErrors[_field?.name]?.lastMessage }}\"\n [icon]=\"_field?.icon\" [formControl]=\"_form.controls[_field?.name]\"\n [placeholder]=\"_field?.placeholder | translate\"\n [helperMessage]=\"_field?.helperMessage | translate\" [label]=\"_field?.label | translate\"\n [maxSize]=\"_field?.maxSize || 5242880\" [fileUpload]=\"_function\"\n [maxSizeErrorMessage]=\"'FIELD.FILE.MAX-FILE' | translate\"\n [allowedExtensionErrorMessage]=\"'FIELD.FILE.ALLOWED-EXTENSION' | translate\"\n [allowedExtensions]=\"_field?.allowedExtensions || []\" *ngIf=\"_field\">\n</monkey-file-upload>","import { ChangeDetectorRef, Component, HostBinding, Input, OnChanges, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MECXFieldConfig } from '../../../interfaces';\n\n@Component({\n selector: 'mecx-dynamic-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicButtonComponent implements OnChanges {\n @Input() _field: MECXFieldConfig | null = null;\n\n @Input() _form: FormGroup | null = null;\n\n // eslint-disable-next-line object-curly-newline\n @Input() _formErrors: any | any[] = {};\n\n @Input() self: any;\n\n constructor(private cdr: ChangeDetectorRef) {\n // not to do\n }\n\n @HostBinding('class')\n get className() {\n return this._field?.style?.class;\n }\n\n ngOnChanges() {\n this.cdr.detectChanges();\n }\n\n onClick() {\n const { _form, _field, self } = this;\n if (_form?.disabled || !_field) return;\n const { name, value } = _field;\n const func = _field?.functions?.onClick;\n if (func) {\n self[func]({\n name,\n value,\n form: _form\n });\n }\n }\n}\n","<monkey-button [icon]=\"_field?.icon\" [type]=\"_field?.type\" [color]=\"_field?.color\"\n (click)=\"onClick()\">\n {{ _field?.label | translate }}\n</monkey-button>","import { ChangeDetectorRef, Component, HostBinding, Input, OnChanges, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MonkeyInputComponent } from 'monkey-style-guide';\nimport { MECXFieldConfig } from '../../../interfaces';\n\n@Component({\n selector: 'mecx-dynamic-input',\n templateUrl: './input.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicInputComponent implements OnInit, OnChanges {\n @Input() _field: MECXFieldConfig | null = null;\n\n @Input() _form: FormGroup | null = null;\n\n // eslint-disable-next-line object-curly-newline\n @Input() _formErrors: any | any[] = {};\n\n @Input() self: any;\n\n @ViewChild('inputElement', {\n static: true\n }) inputElement: MonkeyInputComponent | null = null;\n\n constructor(private cdr: ChangeDetectorRef) {\n // not to do\n }\n\n @HostBinding('class')\n get className() {\n return this._field?.style?.class;\n }\n\n ngOnInit() {\n this.cdr.detectChanges();\n }\n\n ngOnChanges() {\n this.cdr.detectChanges();\n }\n\n onChange(event: string) {\n const { _form, _field, self } = this;\n if (!_field || !_form) return;\n const { name } = _field;\n const func = _field?.functions?.onChange;\n const isValid = _form?.get(_field?.name as string)?.valid;\n if (func) {\n self[func]({\n name,\n isValid,\n event,\n ctrl: _form.get(this._field?.name as string),\n form: _form\n });\n }\n }\n}\n","<monkey-input\r\n errorMessage=\"{{ _formErrors[_field?.name]?.firstMessage | translate }} {{ _formErrors[_field?.name]?.lastMessage }}\"\r\n [mask]=\"_field?.mask\" [prefix]=\"_field?.prefix\" [name]=\"_field?.name\"\r\n [formControl]=\"_form.controls[_field?.name]\" [placeholder]=\"_field?.placeholder | translate\"\r\n [helperMessage]=\"_field?.helperMessage | translate\" [label]=\"_field?.label | translate\"\r\n [type]=\"_field?.type\" #inputElement (onChange)=\"onChange($event)\"\r\n [onlyNumber]=\"_field?.onlyNumber\" [currency]=\"_field?.currency\" [maxLength]=\"_field?.maxLength\"\r\n [maxDateToday]=\"_field?.maxDateToday\">\r\n</monkey-input>","import { ChangeDetectorRef, Component, HostBinding, Input, OnChanges, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MonkeyInputComponent } from 'monkey-style-guide';\nimport { MECXFieldConfig } from '../../../interfaces';\n\n@Component({\n selector: 'mecx-dynamic-input-phone',\n templateUrl: './input-phone.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicInputPhoneComponent implements OnInit, OnChanges {\n @Input() _field: MECXFieldConfig | null = null;\n\n @Input() _form: FormGroup | null = null;\n\n // eslint-disable-next-line object-curly-newline\n @Input() _formErrors: any | any[] = {};\n\n @Input() self: any;\n\n @ViewChild('inputElement', {\n static: true\n }) inputElement: MonkeyInputComponent | null = null;\n\n constructor(private cdr: ChangeDetectorRef) {\n // not to do\n }\n\n @HostBinding('class')\n get className() {\n return this._field?.style?.class;\n }\n\n ngOnInit() {\n this.cdr.detectChanges();\n }\n\n ngOnChanges() {\n this.cdr.detectChanges();\n }\n\n onChange(event: string) {\n const { _form, _field, self } = this;\n if (!_field || !_form) return;\n const { name } = _field;\n const func = _field?.functions?.onChange;\n const isValid = _form?.get(_field?.name as string)?.valid;\n if (func) {\n self[func]({\n name,\n isValid,\n event,\n ctrl: _form.get(this._field?.name as string),\n form: _form\n });\n }\n }\n}\n","<monkey-input-phone [name]=\"_field?.name\" [label]=\"_field?.label | translate\"\r\n [helperMessage]=\"_field?.helperMessage | translate\"\r\n [placeholder]=\"_field?.placeholder | translate\" [icon]=\"_field?.icon\"\r\n (onChange)=\"onChange($event)\" [internationalNumber]=\"_field?.internationalNumber\"\r\n errorMessage=\"{{ _formErrors[_field?.name]?.firstMessage | translate }} {{ _formErrors[_field?.name]?.lastMessage }}\"\r\n [maxLength]=\"_field?.maxLength\" [formControl]=\"_form.controls[_field?.name]\" #inputElement>\r\n</monkey-input-phone>","import { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MECXFieldConfig } from '../../../interfaces';\n\n@Component({\n selector: 'mecx-dynamic-radio',\n templateUrl: './radio.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicRadioComponent {\n @Input() _field: MECXFieldConfig | null = null;\n\n @Input() _form: FormGroup | null = null;\n\n // eslint-disable-next-line object-curly-newline\n @Input() _formErrors: any | any[] = {};\n\n @HostBinding('class')\n get className() {\n return this._field?.style?.class;\n }\n}\n","<monkey-radiobutton\n errorMessage=\"{{ _formErrors[_field?.name]?.firstMessage | translate }} {{ _formErrors[_field?.name]?.lastMessage }}\"\n [formControl]=\"_form.controls[_field?.name]\" [helperMessage]=\"_field?.helperMessage | translate\"\n [label]=\"_field?.label | translate\">\n <monkey-option *ngFor=\"let value of _field?.value\" [label]=\"value.description | translate\"\n [value]=\"value.value\">\n </monkey-option>\n</monkey-radiobutton>","import {\n Component,\n HostBinding,\n Input,\n EventEmitter,\n ViewEncapsulation\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MECXFieldConfig, MECXFieldConfigValue } from '../../../interfaces';\n\n@Component({\n selector: 'mecx-dynamic-select',\n templateUrl: './select.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicSelectComponent {\n @Input() _field: MECXFieldConfig | null = null;\n\n @Input() _form: FormGroup | null = null;\n\n // eslint-disable-next-line object-curly-newline\n @Input() _formErrors: any | any[] = {};\n\n @Input() self: any;\n\n @HostBinding('class')\n get className() {\n return this._field?.style?.class;\n }\n\n _onHandleOptions = new EventEmitter<any>();\n\n onHandleGenericLoad() {\n const { _form, _field, self } = this;\n if (_form?.disabled || !_field || !_field?.functions?.onHandleGenericLoad) return;\n const { name } = _field;\n if ((_field?.value as MECXFieldConfigValue[])?.length) return;\n const { func, url } = _field?.functions?.onHandleGenericLoad;\n if (!func || !self[func]) {\n console.error('onHandleGenericLoad not declared');\n return;\n }\n _form?.disable();\n self[func]({\n name,\n url,\n form: _form,\n callback: (data: any[]) => {\n if (this._field) {\n this._field.value = data;\n }\n this._form?.enable();\n this._onHandleOptions.next(null);\n }\n });\n }\n\n onChange(event: string) {\n const { _form, _field, self } = this;\n if (!_field || !_form) return;\n const { name } = _field;\n const func = _field?.functions?.onChange;\n const isValid = _form?.get(_field.name as string)?.valid;\n if (func) {\n self[func]({\n name,\n isValid,\n event,\n ctrl: _form?.get(this._field?.name as string),\n form: _form,\n value: _field.value\n });\n }\n }\n}\n","<monkey-select\n errorMessage=\"{{ _formErrors[_field?.name]?.firstMessage | translate }} {{ _formErrors[_field?.name]?.lastMessage }}\"\n [formControl]=\"_form.controls[_field?.name]\" [helperMessage]=\"_field?.helperMessage | translate\"\n [label]=\"_field?.label | translate\" (click)=\"onHandleGenericLoad()\"\n [onHandleOptions]=\"_onHandleOptions\" (onChange)=\"onChange($event)\"\n [labelSelect]=\"_form.get(_field?.name).value || ('FIELD.SELECT' | translate)\"\n [placeholder]=\"_field?.placeholder | translate\">\n <monkey-option [label]=\"'FIELD.LOADING' | translate\" *ngIf=\"!_field?.value?.length\"\n enableClick=\"false\">\n </monkey-option>\n <monkey-option *ngFor=\"let value of _field?.value\" [label]=\"value.description | translate\"\n [value]=\"value.value\">\n </monkey-option>\n</monkey-select>","import {\n Component,\n HostBinding,\n Input,\n EventEmitter,\n ViewEncapsulation\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MECXFieldConfig, MECXFieldConfigValue } from '../../../interfaces';\n\n@Component({\n selector: 'mecx-dynamic-select-search',\n templateUrl: './select-search.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicSelectSearchComponent {\n @Input() _field: MECXFieldConfig | null = null;\n\n @Input() _form: FormGroup | null = null;\n\n // eslint-disable-next-line object-curly-newline\n @Input() _formErrors: any | any[] = {};\n\n @Input() self: any;\n\n @HostBinding('class')\n get className() {\n return this._field?.style?.class;\n }\n\n _onHandleOptions = new EventEmitter<any>();\n\n onHandleGenericLoad() {\n const { _form, _field, self } = this;\n if (_form?.disabled || !_field || !_field?.functions?.onHandleGenericLoad) return;\n const { name } = _field;\n if ((_field?.value as MECXFieldConfigValue[])?.length) return;\n const { func, url } = _field?.functions?.onHandleGenericLoad;\n if (!func || !self[func]) {\n console.error('onHandleGenericLoad not declared');\n return;\n }\n _form?.disable();\n self[func]({\n name,\n url,\n form: _form,\n callback: (data: any[]) => {\n if (this._field) {\n this._field.value = data;\n }\n this._form?.enable();\n this._onHandleOptions.next(null);\n }\n });\n }\n\n onChange(event: string) {\n const { _form, _field, self } = this;\n if (!_field || !_form) return;\n const { name } = _field;\n const func = _field?.functions?.onChange;\n const isValid = _form?.get(_field?.name as string)?.valid;\n if (func) {\n self[func]({\n name,\n isValid,\n event,\n ctrl: _form.get(this._field?.name as string),\n form: _form,\n value: _field.value\n });\n }\n }\n}\n","<monkey-select-search\n errorMessage=\"{{ _formErrors[_field?.name]?.firstMessage | translate }} {{ _formErrors[_field?.name]?.lastMessage }}\"\n [formControl]=\"_form.controls[_field?.name]\" [helperMessage]=\"_field?.helperMessage | translate\"\n [label]=\"_field?.label | translate\" (click)=\"onHandleGenericLoad()\"\n [onHandleOptions]=\"_onHandleOptions\" (onChange)=\"onChange($event)\"\n [fieldToCompare]=\"_field?.fieldToCompare\"\n [labelSelect]=\"_form.get(_field?.name).value || ('FIELD.SELECT' | translate)\"\n [placeholder]=\"_field?.placeholder | translate\">\n <monkey-option [label]=\"'FIELD.LOADING' | translate\" *ngIf=\"!_field?.value?.length\"\n enableClick=\"false\">\n </monkey-option>\n <monkey-option *ngFor=\"let value of _field?.value\" [label]=\"value.description | translate\"\n [value]=\"value.value\">\n </monkey-option>\n</monkey-select-search>","import {\n ChangeDetectorRef,\n ComponentFactoryResolver,\n Directive,\n Input,\n OnChanges,\n OnInit,\n ViewContainerRef\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MECXFieldConfig } from '../../interfaces';\nimport { MECXDynamicButtonComponent } from './button';\nimport { MECXDynamicFileUploadComponent } from './file-upload';\nimport { MECXDynamicInputComponent } from './input';\nimport { MECXDynamicInputPhoneComponent } from './input-phone';\nimport { MECXDynamicRadioComponent } from './radio';\nimport { MECXDynamicSelectComponent } from './select';\nimport { MECXDynamicSelectSearchComponent } from './select-search';\n\nconst componentMapper: any = {\n input: MECXDynamicInputComponent,\n 'input-phone': MECXDynamicInputPhoneComponent,\n radiobutton: MECXDynamicRadioComponent,\n select: MECXDynamicSelectComponent,\n 'select-search': MECXDynamicSelectSearchComponent,\n 'file-upload': MECXDynamicFileUploadComponent,\n button: MECXDynamicButtonComponent\n};\n\n@Directive({\n selector: '[MECXDynamic]'\n})\nexport class MECXDynamicDirective implements OnInit, OnChanges {\n @Input() field: MECXFieldConfig | null = null;\n\n @Input() form: FormGroup | null = null;\n\n @Input() formErrors: any;\n\n @Input() self: any;\n\n @Input() plusValidations: any;\n\n componentRef: any;\n\n constructor(private resolver: ComponentFactoryResolver, private container: ViewContainerRef,\n private cdr: ChangeDetectorRef) {\n // not to do\n }\n\n private handleInternalPlusValidation() {\n if (!this.field?.alwaysShowPlusValidation) return false;\n const { operator, value, field } = this.field?.alwaysShowPlusValidation;\n const validators: any = {\n e: (val1: any, val2: string) => { return val1 === val2; },\n lt: (val1: any, val2: string) => { return val1 < val2; },\n gt: (val1: any, val2: string) => { return val1 > val2; }\n };\n const data = this.form?.controls[field as string]?.value;\n\n return validators[operator as string](data, value);\n }\n\n private buildComponent() {\n if (this.componentRef?.instance) return;\n const factory = this.resolver.resolveComponentFactory(\n componentMapper[this.field?.fieldType as string]\n );\n this.componentRef = this.container.createComponent(factory);\n this.componentRef.instance._field = this.field;\n this.componentRef.instance._form = this.form;\n // eslint-disable-next-line object-curly-newline\n this.componentRef.instance._formErrors = this.formErrors || {};\n this.componentRef.instance.self = this.self;\n }\n\n ngOnInit() {\n if (!this.field?.alwaysShow && !this.handleInternalPlusValidation()) return;\n this.buildComponent();\n }\n\n ngOnChanges() {\n if (this.plusValidations && this.plusValidations[this.field?.name as string]) {\n if (!this.field?.alwaysShow && this.plusValidations[this.field?.name as string].alwaysShow) {\n setTimeout(() => {\n this.buildComponent();\n this.cdr.detectChanges();\n }, 1);\n }\n if (this.componentRef?.instance &&\n !this.plusValidations[this.field?.name as string].alwaysShow) {\n this.componentRef.destroy();\n this.componentRef = null;\n this.form?.controls[this.field?.name as string]?.setValue(null);\n this.form?.controls[this.field?.name as string]?.clearValidators();\n }\n }\n if (!this.componentRef?.instance) return;\n this.componentRef.instance._formErrors = this.formErrors || {\n };\n }\n}\n","import { Component, OnInit, ViewEncapsulation, OnDestroy, ChangeDetectorRef } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { BaseDynamic } from '../../base/base-dynamic';\n\n@Component({\n selector: 'mecx-dynamic-form',\n templateUrl: './dynamic-form.component.html',\n styles: [],\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicFormComponent extends BaseDynamic implements OnInit, OnDestroy {\n private unsubscribeAll = new Subject();\n\n constructor(fb: FormBuilder, private cdr: ChangeDetectorRef) {\n super(fb);\n }\n\n ngOnInit() {\n super.ngOnInit();\n\n this.onHandleSubmit.pipe(takeUntil(this.unsubscribeAll)).subscribe((func: Function) => {\n this.onSubmit(func);\n });\n }\n\n ngOnDestroy() {\n this.unsubscribeAll.next();\n this.unsubscribeAll.complete();\n }\n\n onSubmit(callback: Function) {\n const { _form } = this;\n // eslint-disable-next-line object-curly-newline\n this.__monkeyecxFormErrors = {};\n\n const isValid = this.validateForm(_form as any);\n this.cdr.detectChanges();\n\n this.onHandleSubmitFormReady.next({\n validate: {\n isValid\n },\n callback,\n form: _form\n });\n }\n}\n","<form name=\"form\" [formGroup]=\"_form\" *ngIf=\"_form\">\n <div class=\"row\">\n <div *ngFor=\"let field of fields;\" MECXDynamic [field]=\"field\" [form]=\"_form\" [self]=\"self\"\n [formErrors]=\"__monkeyecxFormErrors\" [style.display]=\"'none'\">\n </div>\n </div>\n</form>","import { Component, OnInit, ViewEncapsulation, OnDestroy, ChangeDetectorRef } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { BaseDynamicArray } from '../../base';\n\n@Component({\n selector: 'mecx-dynamic-form-array',\n templateUrl: './dynamic-form-array.component.html',\n styleUrls: ['./dynamic-form-array.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicFormArrayComponent extends BaseDynamicArray implements OnInit, OnDestroy {\n private unsubscribeAll = new Subject();\n\n constructor(fb: FormBuilder, private cdr: ChangeDetectorRef) {\n super(fb);\n this.__monkeyecxFormErrors = [];\n }\n\n ngOnInit() {\n super.ngOnInit();\n\n this.onHandleSubmit.pipe(takeUntil(this.unsubscribeAll)).subscribe((func: Function) => {\n this.onSubmit(func);\n });\n }\n\n ngOnDestroy() {\n this.unsubscribeAll.next();\n this.unsubscribeAll.complete();\n }\n\n onSubmit(callback: Function) {\n const { _form } = this;\n // eslint-disable-next-line object-curly-newline\n this.__monkeyecxFormErrors = [];\n\n let validate = {\n isValid: false\n };\n let hasErrors: boolean = false;\n if (this.formValues) {\n this.__monkeyecxFormErrors = [this.formValues.length];\n this.formValues.controls.forEach((item: any, index: number) => {\n if (item instanceof FormGroup) {\n if (!this.validateForm(item, index)) {\n hasErrors = true;\n }\n }\n });\n }\n validate = {\n isValid: !hasErrors\n };\n\n this.cdr.detectChanges();\n\n this.onHandleSubmitFormReady.next({\n validate,\n callback,\n form: _form\n });\n }\n\n onHandleAdd() {\n this.formValues?.push(this.formBase() as any);\n this.cdr.detectChanges();\n }\n\n onHandleRemove(index: number) {\n this.formValues?.removeAt(index);\n this._plusValidations.splice(index, 1);\n }\n}\n","<form name=\"form\" [formGroup]=\"_form\" *ngIf=\"_form\">\n <div formArrayName=\"fields\">\n <div *ngFor=\"let item of formValues.controls; let indForm=index\" [formGroupName]=\"indForm\">\n <monkey-button type=\"secondary\" color=\"error\" icon=\"close-20\" iconPosition=\"right\"\n [label]=\"'BUTTONS.REMOVE' | translate\" (click)=\"onHandleRemove(indForm)\"\n *ngIf=\"formValues.controls.length > 1 && !disabled\">\n </monkey-button>\n <div class=\"row mt-3\">\n <div *ngFor=\"let field of fields;\" MECXDynamic [field]=\"field\" [form]=\"item\" [self]=\"self\"\n [formErrors]=\"__monkeyecxFormErrors[indForm]\"\n [plusValidations]=\"_plusValidations[indForm]\" [style.display]=\"'none'\">\n </div>\n </div>\n </div>\n </div>\n</form>\n<monkey-button type=\"secondary\" color=\"theme\" icon=\"more-20\" iconPosition=\"right\"\n [label]=\"'BUTTONS.ADD' | translate\" (click)=\"onHandleAdd()\" *ngIf=\"!disabled\">\n</monkey-button>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {\n MonkeyButtonModule,\n MonkeyFileUploadModule,\n MonkeyInputModule,\n MonkeyInputPhoneModule,\n MonkeyOptionModule,\n MonkeyRadioButtonModule,\n MonkeySelectModule\n} from 'monkey-style-guide';\nimport { MECXDynamicButtonComponent } from './button';\nimport { MECXDynamicDirective } from './dynamic-directive';\nimport { MECXDynamicFileUploadComponent } from './file-upload';\nimport { MECXDynamicFormComponent, MECXDynamicFormArrayComponent } from './form';\nimport { MECXDynamicInputComponent } from './input';\nimport { MECXDynamicInputPhoneComponent } from './input-phone';\nimport { MECXDynamicRadioComponent } from './radio';\nimport { MECXDynamicSelectComponent } from './select';\nimport { MECXDynamicSelectSearchComponent } from './select-search';\n\n@NgModule({\n declarations: [\n MECXDynamicButtonComponent,\n MECXDynamicFileUploadComponent,\n MECXDynamicFormComponent,\n MECXDynamicFormArrayComponent,\n MECXDynamicInputComponent,\n MECXDynamicInputPhoneComponent,\n MECXDynamicRadioComponent,\n MECXDynamicSelectComponent,\n MECXDynamicSelectSearchComponent,\n MECXDynamicDirective\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MonkeyInputModule,\n MonkeySelectModule,\n MonkeyRadioButtonModule,\n MonkeyOptionModule,\n MonkeyFileUploadModule,\n MonkeyButtonModule,\n MonkeyInputPhoneModule,\n TranslateModule.forChild()\n ],\n exports: [MECXDynamicDirective, MECXDynamicFormComponent, MECXDynamicFormArrayComponent],\n entryComponents: [MECXDynamicInputComponent]\n})\nexport class MECXDynamicModule {}\n","import { Component, Input, OnChanges, ViewEncapsulation, Output, EventEmitter } from '@angular/core';\nimport { MonkeyEcxConfig, MonkeyEcxConfigService, MonkeyEcxUtils } from 'monkey-front-core';\nimport { PasswordStrength } from './password-strength';\n\n@Component({\n selector: 'mecx-password-strength',\n templateUrl: './password-strength.component.html',\n styleUrls: ['./password-strength.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXPasswordStrengthComponent implements OnChanges {\n @Input() passwordToCheck: string | null = null;\n\n @Output() onHandleSubmitReady = new EventEmitter<any>();\n\n _validatorsPasswordPass: Array<PasswordStrength> = [];\n\n _stepPassword = 0;\n\n private validatorsPassword = new Map();\n\n constructor(private configService: MonkeyEcxConfigService) {\n // not do\n }\n\n private handleColor(score: number) {\n let idx = 0;\n if (score > 50) idx = 1;\n if (score === 100) idx = 2;\n this._stepPassword = idx;\n }\n\n private passwordStrengthValidator(pass : string) {\n this._validatorsPasswordPass = [];\n let score = 0;\n\n this.validatorsPassword.forEach((key, value) => {\n this._validatorsPasswordPass.push({\n regex: `${value}`,\n validate: `${key.VALIDATE}` === String(RegExp(`${key.REGEX}`).test(pass)),\n percent: 100 / this.validatorsPassword.size\n });\n });\n\n this._validatorsPasswordPass.forEach((check) => {\n if (check.validate) {\n score += check.percent;\n }\n });\n\n return Math.trunc(score);\n }\n\n private onHandleReady() {\n const validate = this._validatorsPasswordPass?.find(({ validate }) => { return !validate; });\n this.onHandleSubmitReady.next(!validate);\n }\n\n private onHandleChages() {\n const password = this.passwordToCheck;\n this.handleColor(this.passwordStrengthValidator(password as string));\n this.onHandleReady();\n }\n\n private onHandlePasswordStrengthKeys(params: MonkeyEcxConfig) {\n const ps = params?.program?.screens?.login?.passwordStrength;\n if (ps) {\n Object.entries(ps)\n .forEach(([key, value]) => {\n if (MonkeyEcxUtils.persistNullEmptyUndefined(value)) {\n this.validatorsPassword.set(key, value);\n }\n });\n this.onHandleChages();\n }\n }\n\n ngOnInit() {\n this.configService.config().subscribe((_: MonkeyEcxConfig) => {\n this.onHandlePasswordStrengthKeys(_);\n });\n }\n\n ngOnChanges(): void {\n this.onHandleChages();\n }\n}\n","<ng-container *ngIf=\"_validatorsPasswordPass?.length\">\n <div id=\"strength\" class=\"d-flex full-width flex-column justify-content-center align-items-center\"\n #strength>\n <div id=\"strengthBar\" class=\"strength-bar d-flex full-width flex-row\">\n <div class=\"d-flex full-width align-items-center\">\n <div class=\"bar-label\">\n <small>{{ 'SCREENS.LOGIN.REGISTER.PASSWORD-STRENGTH.TITLE' | translate }}</small>\n </div>\n </div>\n <div class=\"d-flex full-width align-items-center flex-column\">\n <div class=\"point\" [class.error]=\"_stepPassword === 0\" [class.warning]=\"_stepPassword === 1\"\n [class.success]=\"_stepPassword === 2\">\n </div>\n <ng-container *ngIf=\"_stepPassword === 0\">\n <ng-container *ngTemplateOutlet=\"stepPasswordLabel\"></ng-container>\n </ng-container>\n </div>\n <div class=\"d-flex full-width align-items-center flex-column\">\n <div class=\"point\" [class.warning]=\"_stepPassword === 1\"\n [class.success]=\"_stepPassword === 2\"></div>\n <ng-container *ngIf=\"_stepPassword === 1\">\n <ng-container *ngTemplateOutlet=\"stepPasswordLabel\"></ng-container>\n </ng-container>\n </div>\n <div class=\"d-flex full-width align-items-center flex-column\">\n <div class=\"point\" [class.success]=\"_stepPassword === 2\"></div>\n <ng-container *ngIf=\"_stepPassword === 2\">\n <ng-container *ngTemplateOutlet=\"stepPasswordLabel\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"callbacks mt-2 row\">\n <div class=\"col-sm-6 mt-2 d-flex justify-content-start\"\n *ngFor=\"let validators of _validatorsPasswordPass\">\n <monkey-icon *ngIf=\"validators.validate\" icon=\"check-circle-20\"></monkey-icon>\n <monkey-icon *ngIf=\"!validators.validate\" icon=\"error-20\"></monkey-icon>\n <span class=\"ml-2\">\n {{ 'SCREENS.LOGIN.REGISTER.PASSWORD-STRENGTH.TYPES.' + validators.regex | translate }}\n </span>\n </div>\n </div>\n</ng-container>\n<ng-template #stepPasswordLabel>\n <div class=\"name-point mt-1\" [class.error]=\"_stepPassword === 0\"\n [class.warning]=\"_stepPassword === 1\" [class.success]=\"_stepPassword === 2\">\n {{ 'SCREENS.LOGIN.REGISTER.PASSWORD-STRENGTH.LABELS.' + _stepPassword | translate }}\n </div>\n</ng-template>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MonkeyEcxDirectivesModule, MonkeyEcxPipesModule } from 'monkey-front-core';\nimport { MonkeyButtonModule, MonkeyInputModule, MonkeyIconModule } from 'monkey-style-guide';\nimport { MECXPasswordStrengthComponent } from './password-strength.component';\n\n@NgModule({\n declarations: [MECXPasswordStrengthComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MonkeyEcxPipesModule,\n MonkeyEcxDirectivesModule,\n MonkeyButtonModule,\n MonkeyInputModule,\n MonkeyIconModule,\n TranslateModule.forChild()\n ],\n exports: [MECXPasswordStrengthComponent]\n})\nexport class MECXPasswordStrengthModule {}\n","import { Injectable } from '@angular/core';\nimport {\n NavigationCancel,\n NavigationEnd,\n NavigationError,\n NavigationStart,\n Router\n} from '@angular/router';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MECXProgressBarService {\n private visible: BehaviorSubject<any> = new BehaviorSubject(false);\n\n constructor(private router: Router) {\n this.init();\n }\n\n private init() {\n this.router.events\n .pipe(\n filter((event: any) => {\n return event instanceof NavigationStart;\n })\n )\n .subscribe(() => {\n this.show();\n });\n\n this.router.events\n .pipe(\n filter((event: any) => {\n return (\n event instanceof NavigationEnd ||\n event instanceof NavigationError ||\n event instanceof NavigationCancel\n );\n })\n )\n .subscribe(() => {\n this.hide();\n });\n }\n\n show() {\n this.visible.next(true);\n }\n\n hide() {\n this.visible.next(false);\n }\n\n visibleConfig(): Observable<any> {\n return this.visible.asObservable();\n }\n}\n","import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { BaseComponent } from '../../base/base-component';\nimport { MECXProgressBarService } from './progress-bar.service';\n\n@Component({\n selector: 'mecx-progress-bar',\n templateUrl: './progress-bar.component.html',\n styleUrls: ['./progress-bar.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXProgressBarComponent extends BaseComponent implements OnInit, OnDestroy {\n visible: boolean = false;\n\n constructor(private progressBarService: MECXProgressBarService) {\n super();\n }\n\n ngOnInit() {\n this.progressBarService\n .visibleConfig()\n .pipe(takeUntil(this.__unsubscribeAll))\n .subscribe((visible: boolean) => {\n this.visible = visible;\n });\n }\n}\n","<ng-container *ngIf=\"visible\">\n <progress class=\"monkey-progress monkey-progress__theme\"></progress>\n</ng-container>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MECXProgressBarComponent } from './progress-bar.component';\n\n@NgModule({\n declarations: [MECXProgressBarComponent],\n imports: [CommonModule],\n exports: [MECXProgressBarComponent]\n})\nexport class MECXProgressBarModule {}\n","/*\n * Public API Surface of monkey-front-components\n */\n\nexport * from './lib/components';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Validators_","Validators"],"mappings":"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"}
@@ -672,7 +672,7 @@ class BaseScrollComponent extends BaseComponent {
672
672
  return false;
673
673
  }
674
674
  element.scrollTop = savedScroll;
675
- this.deferredRestore = false;
675
+ this.deferredRestore = true;
676
676
  return true;
677
677
  }
678
678
  addScrollTopListeners() {
@@ -1 +1 @@
1
- {"version":3,"file":"monkey-front-components.mjs","sources":["../../../projects/monkey-front-components/src/lib/components/base/base-component.ts","../../../projects/monkey-front-components/src/lib/components/base/base-validators.ts","../../../projects/monkey-front-components/src/lib/components/base/base-dynamic-array.ts","../../../projects/monkey-front-components/src/lib/components/base/base-dynamic.ts","../../../projects/monkey-front-components/src/lib/components/base/base-scroll-component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/file-upload/file-upload.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/file-upload/file-upload.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/button/button.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/button/button.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/input/input.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/input/input.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/input-phone/input-phone.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/input-phone/input-phone.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/radio/radio.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/radio/radio.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/select/select.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/select/select.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/select-search/select-search.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/select-search/select-search.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/dynamic-directive.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/form/dynamic-form.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/form/dynamic-form.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/form/dynamic-form-array.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/form/dynamic-form-array.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/dynamic.module.ts","../../../projects/monkey-front-components/src/lib/components/shared/password-strength/password-strength.component.ts","../../../projects/monkey-front-components/src/lib/components/shared/password-strength/password-strength.component.html","../../../projects/monkey-front-components/src/lib/components/shared/password-strength/password-strength.module.ts","../../../projects/monkey-front-components/src/lib/components/shared/progress-bar/progress-bar.service.ts","../../../projects/monkey-front-components/src/lib/components/shared/progress-bar/progress-bar.component.ts","../../../projects/monkey-front-components/src/lib/components/shared/progress-bar/progress-bar.component.html","../../../projects/monkey-front-components/src/lib/components/shared/progress-bar/progress-bar.module.ts","../../../projects/monkey-front-components/src/public-api.ts","../../../projects/monkey-front-components/src/monkey-front-components.ts"],"sourcesContent":["/* eslint-disable max-len */\nimport { AbstractControl, FormGroup } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { OnDestroy, Directive } from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { MonkeyUtils } from 'monkey-style-guide';\nimport {\n MonkeyEcxCommonsService,\n MonkeyEcxErrorResponse,\n MonkeyEcxPaginationOptions,\n MonkeyEcxScrollOptions,\n MonkeyEcxSupportOptions,\n MonkeyEcxTranslateOptions,\n ValidateUtils\n} from 'monkey-front-core';\n\n@Directive({\n selector: '[baseComponent]'\n})\nexport abstract class BaseComponent implements OnDestroy {\n __monkeyecxFormErrors: any | any[];\n\n __unsubscribeAll: Subject<any>;\n\n __paginationOptions: MonkeyEcxPaginationOptions | null = null;\n\n __i18n: any;\n\n __isMobile = this.isMobile();\n\n __locales = ['pt-BR', 'es-CL'];\n\n private paginationFunc: any;\n\n protected constructor() {\n this.__unsubscribeAll = new Subject();\n }\n\n private isMobile() {\n const isMobileWidth = (window.screen.width <= 640) ||\n (window.matchMedia &&\n window.matchMedia('only screen and (max-width: 640px)').matches\n );\n return (/Android|webOS|iPhone|iPad|iPod|BlackBerry|Mobile/i.test(\n navigator.userAgent\n )) || isMobileWidth;\n }\n\n private handlePagination(create = true) {\n const { __paginationOptions } = this;\n\n if (__paginationOptions) {\n const { mainElement, service } = __paginationOptions;\n\n const element = document.getElementById(mainElement);\n\n if (element) {\n element.scroll = null;\n element.onscroll = null;\n\n element.removeEventListener('scroll', (element as any).eventListeners('scroll'));\n element.removeEventListener('scroll', (element as any).eventListeners('scroll')[0]);\n if (create) {\n element.addEventListener('scroll', () => {\n const { scrollTop, scrollHeight, offsetHeight } = element;\n const contentHeight = scrollHeight - offsetHeight;\n\n if (contentHeight <= scrollTop) {\n service.doPagination();\n }\n });\n }\n }\n }\n }\n\n private handleSupport(supportControls: MonkeyEcxSupportOptions) {\n const { service, show } = supportControls;\n const method = show ? 'show' : 'hide';\n service[method.toLowerCase()]();\n }\n\n private handleTranslate(translateOptions: MonkeyEcxTranslateOptions) {\n const { service } = translateOptions;\n service.__oni18nDataChanged$\n .pipe(takeUntil(this.__unsubscribeAll))\n .subscribe(() => {\n const data = service.__i18n;\n if (data) {\n this.__i18n = data;\n }\n });\n }\n\n private handleViewScroll(options: MonkeyEcxScrollOptions) {\n const { elementId, service } = options;\n\n if (elementId === service?.__savedState?.scrollElementId) {\n this.goScroll(elementId);\n\n service.__savedState.scrollElementId = null;\n }\n }\n\n private getErrorFirstMessageTranslated(formControl: AbstractControl | null = null) {\n if (formControl?.hasError('required')) return 'FIELD-REQUIRED';\n if (formControl?.hasError('invalid')) return 'FIELD-INVALID';\n if (formControl?.hasError('email')) return 'INVALID-EMAIL';\n if (formControl?.hasError('minlength')) return 'MIN-LENGTH';\n if (formControl?.hasError('maxlength')) return 'MAX-LENGTH';\n if (formControl?.hasError('max')) return 'MAX';\n if (formControl?.hasError('min')) return 'MIN';\n if (formControl?.hasError('passwordsNotMatching')) return 'MATCH-PASSWORD';\n if (formControl?.hasError('invalidDate')) return 'INVALID-DATE';\n if (formControl?.hasError('invalidTrue')) return 'INVALID-TRUE';\n if (formControl?.hasError('invalidCpfCnpj')) return 'INVALID-DOCUMENT';\n if (formControl?.hasError('invalidZipCode')) return 'INVALID-ZIPCODE';\n if (formControl?.hasError('invalidCombo')) return 'INVALID-COMBO';\n if (formControl?.hasError('invalidUrl')) return 'INVALID-URL';\n if (formControl?.hasError('invalidUnlockRegister')) { return 'INVALID-UNLOCK-REGISTER'; }\n if (formControl?.hasError('dateStartMustBeLessThanAnd')) {\n return 'DATE-START-MUST-BE-LESS-THAN-AND';\n }\n if (formControl?.hasError('dateEndMustBeGreaterThanStart')) {\n return 'DATE-END-MUST-BE-GREATER-THAN-SART';\n }\n if (formControl?.hasError('phone')) return 'INVALID-PHONE';\n if (formControl?.hasError('invalidValueGreaterThanZero')) return 'INVALID-GREATER-THAN-ZERO';\n\n return 'FIELD-INVALID';\n }\n\n private getErrorLastMessageNotTranslated(formControl: AbstractControl | null = null) {\n if (formControl?.hasError('minlength')) {\n return `${formControl?.getError('minlength').requiredLength} caracteres.`;\n }\n if (formControl?.hasError('maxlength')) {\n return `${formControl?.getError('maxlength').requiredLength} caracteres.`;\n }\n if (formControl?.hasError('max')) { return `${formControl?.getError('max').max}`; }\n if (formControl?.hasError('min')) { return `${formControl?.getError('min').min}`; }\n\n return '';\n }\n\n public validateFormWithTranslate(f: FormGroup, index?: number): boolean {\n const formErrors: any = f.value;\n\n if (f.status === 'VALID') return true;\n\n if (!formErrors) return true;\n Object.entries(formErrors).forEach(([key, value]) => {\n const control = f.get(key);\n formErrors[key] = '';\n if (control && !control.valid) {\n const msg = {\n first: `ERRORS.${this.getErrorFirstMessageTranslated(f.get(key))}`,\n last: this.getErrorLastMessageNotTranslated(f.get(key))\n };\n formErrors[key] = msg;\n }\n });\n\n if (MonkeyUtils.persistNullEmptyUndefined(index)) { this.__monkeyecxFormErrors[index || 0] = formErrors; } else {\n this.__monkeyecxFormErrors = formErrors;\n }\n\n return false;\n }\n\n public copyToClipboard(val: string) {\n const selBox = document.createElement('textarea');\n selBox.style.position = 'fixed';\n selBox.style.left = '0';\n selBox.style.top = '0';\n selBox.style.opacity = '0';\n selBox.value = val;\n document.body.appendChild(selBox);\n selBox.focus();\n selBox.select();\n document.execCommand('copy');\n document.body.removeChild(selBox);\n }\n\n public validateForm(f: FormGroup, index?: number, alias?: string): boolean {\n const formErrors: any = f.value;\n if (f.status === 'VALID') return true;\n\n if (!formErrors) return true;\n Object.entries(formErrors).forEach(([key, value]) => {\n const control = f.get(key);\n formErrors[key] = '';\n if (control && !control.valid) {\n const msg = {\n firstMessage: `ERRORS.${this.getErrorFirstMessageTranslated(\n f.get(key)\n )}`,\n lastMessage: this.getErrorLastMessageNotTranslated(f.get(key))\n };\n formErrors[key] = msg;\n }\n });\n\n if (MonkeyUtils.persistNullEmptyUndefined(index)) {\n this.__monkeyecxFormErrors[index || 0] = formErrors;\n } else {\n let obj: any;\n\n if (alias) {\n obj = {\n [alias]: {\n ...formErrors\n }\n };\n } else {\n obj = formErrors;\n }\n\n this.__monkeyecxFormErrors = {\n ...this.__monkeyecxFormErrors,\n ...obj\n };\n }\n f.markAllAsTouched();\n return false;\n }\n\n public clearAllServiceData(clearData: boolean) {\n const context = this;\n Object.values(context).forEach((ctx: any) => {\n if (ctx instanceof MonkeyEcxCommonsService) {\n ctx.clear(clearData);\n }\n });\n }\n\n public ngOnInit(args: {\n paginationOptions?: MonkeyEcxPaginationOptions;\n supportControls?: MonkeyEcxSupportOptions;\n scrollOptions?: MonkeyEcxScrollOptions;\n translateOptions?: MonkeyEcxTranslateOptions;\n }) {\n if (args?.paginationOptions) {\n this.__paginationOptions = args?.paginationOptions;\n this.handlePagination();\n }\n if (args?.supportControls) {\n this.handleSupport(args?.supportControls);\n }\n if (args?.translateOptions) {\n this.handleTranslate(args?.translateOptions);\n }\n if (args?.scrollOptions) {\n this.handleViewScroll(args.scrollOptions);\n }\n }\n\n public ngOnDestroy(clearData: boolean = true) {\n this.__unsubscribeAll.next();\n this.__unsubscribeAll.complete();\n this.clearAllServiceData(clearData);\n this.handlePagination(false);\n }\n\n public handleErrorFromServices(error: MonkeyEcxErrorResponse, f: FormGroup) {\n this.__monkeyecxFormErrors = null;\n if (error.type === 'Parameter_Error') {\n Object.entries(f.value).forEach(([key, value]) => {\n error.notifications.forEach((_: any) => {\n const field = _.split(':')[0];\n const description = _.split(':')[1];\n if (field === key) {\n const msg = {\n firstMessage: '',\n lastMessage: description\n };\n this.__monkeyecxFormErrors = {\n ...this.__monkeyecxFormErrors,\n [key]: msg\n };\n f.controls[key].setErrors({\n incorrect: true\n });\n }\n });\n });\n }\n\n f.markAllAsTouched();\n }\n\n public goBack() {\n window.history.back();\n }\n\n public goScroll(id: string) {\n const element = document.getElementById(id);\n if (element) element.scrollIntoView();\n }\n\n public getEmbeddedData(data: any, field: string): any[] | any {\n const { _embedded } = data;\n return _embedded ? _embedded[field] : null;\n }\n\n public openWindow(url: string) {\n window.open(`${url}`, '_blank');\n }\n\n public fillI18n(data: any) {\n this.__i18n = data;\n }\n\n public getCountryPrefix(country: string) {\n return {\n br: 55,\n cl: 56\n }[country];\n }\n\n public getCountryCurrencyChartFormat(country: string) {\n return {\n br: 'R$ #,###,##0.00',\n cl: 'CLP #,###,##0'\n }[country];\n }\n\n public getCountryValidators(country: string) {\n return {\n br: {\n governmentId: ValidateUtils.DocumentValidator\n },\n cl: {\n governmentId: ValidateUtils.DocumentRutValidator\n }\n }[country];\n }\n\n public isAbleToHandlePagination() {\n const { __paginationOptions } = this;\n\n if (__paginationOptions) {\n const { service } = __paginationOptions;\n\n const links = service.__links;\n if (links && links?.next) return true;\n }\n return false;\n }\n\n public onHandlePagination() {\n const { __paginationOptions } = this;\n\n if (__paginationOptions) {\n const { service } = __paginationOptions;\n service.doPagination();\n }\n }\n}\n","import { Validators as Validators_ } from '@angular/forms';\nimport { Validators } from 'monkey-front-core';\n\nexport const validators: any = {\n required: Validators_.required,\n email: Validators.email,\n governmentId: Validators.documentBR,\n governmentIdRut: Validators.documentCL,\n documentBR: Validators.documentBR,\n documentCL: Validators.documentCL,\n date: Validators.date,\n zipCode: Validators.zipCode,\n minLength: (param: number) => {\n return Validators_.minLength(param);\n },\n maxLength: (param: number) => {\n return Validators_.maxLength(param);\n }\n};\n","import { Directive, EventEmitter, Input, OnInit, OnChanges, Output } from '@angular/core';\nimport { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MonkeyUtils } from 'monkey-style-guide';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { MECXFieldConfig, MECXFieldConfigValidator } from '../../interfaces';\nimport { BaseComponent } from './base-component';\nimport { validators } from './base-validators';\n\n@Directive({\n selector: '[baseDynamicArray]'\n})\nexport abstract class BaseDynamicArray extends BaseComponent implements OnInit, OnChanges {\n @Input() onHandleSubmit = new EventEmitter<any>();\n\n @Input() onHandleUpdateForm = new EventEmitter<any>();\n\n @Output() onHandleSubmitFormReady: EventEmitter<any> = new EventEmitter<any>();\n\n @Input() self: any;\n\n @Input() fields: MECXFieldConfig[] = [];\n\n @Input() data: any;\n\n @Input() qtd: number = 1;\n\n @Input() disabled: boolean = false;\n\n _form: FormGroup | null = null;\n\n // eslint-disable-next-line object-curly-newline\n _plusValidations: any[] = [];\n\n private changesUnsubscribe = new Subject();\n\n constructor(private fb: FormBuilder) {\n super();\n }\n\n private handleInternalPlusValidation(\n mainField: any,\n data: any\n ) {\n const { operator, field, value } = mainField;\n const validators: any = {\n e: (val1: any, val2: string) => { return val1 === val2; },\n lt: (val1: any, val2: string) => { return val1 < val2; },\n gt: (val1: any, val2: string) => { return val1 > val2; }\n };\n\n return validators[operator](data?.[field] || data, value);\n }\n\n private makeInternalPlusValidation(\n data: any,\n sourceField: string,\n settings: any,\n rowIndex: number\n ) {\n const changeFields = (show: boolean) => {\n const saved = [...this.fields];\n\n saved.map((val) => {\n const valSaved = {\n ...val\n };\n if (val.name === sourceField) {\n this._plusValidations[rowIndex] = {\n [sourceField]: {\n ...valSaved,\n alwaysShow: show\n }\n };\n this.createOneControl(val.name, this.formValues?.controls[rowIndex], show);\n } else {\n this._plusValidations[rowIndex] = {\n ...valSaved\n };\n }\n return null;\n });\n };\n\n const validated = this.handleInternalPlusValidation(settings, data);\n changeFields(validated);\n }\n\n private createOneControl(fieldName: string, ctrl: any, create = true) {\n const { fields } = this;\n if (!fields) return;\n\n fields.forEach((field: MECXFieldConfig) => {\n const { fieldType, validations, name, disabled } = field;\n if (name !== fieldName) return;\n let { value } = field;\n if (fieldType === 'button') return;\n if (fieldType === 'radiobutton' || fieldType === 'checkbox' || fieldType === 'select') {\n value = '';\n }\n if (create) {\n const control = this.fb.control(value, this.bindValidations(validations || []));\n if (disabled || this.disabled) control.disable();\n ctrl.addControl(name, control);\n } else {\n ctrl.removeControl(name);\n }\n });\n }\n\n private createControl(data?: any) {\n const { fields } = this;\n if (!fields) return null;\n // eslint-disable-next-line object-curly-newline\n const group = this.fb.group({});\n fields.forEach((field: MECXFieldConfig) => {\n const { fieldType, validations, name, disabled, alwaysShow } = field;\n let { value } = field;\n if (field.alwaysShowPlusValidation) {\n if (!this.handleInternalPlusValidation(field.alwaysShowPlusValidation, data)) return;\n } else if (!alwaysShow) return;\n if (fieldType === 'button') return;\n if (fieldType === 'radiobutton' || fieldType === 'checkbox' || fieldType === 'select') {\n value = '';\n }\n const control = this.fb.control(value, this.bindValidations(validations || []));\n if (disabled || this.disabled) control.disable();\n group.addControl(name as string, control);\n });\n\n return group;\n }\n\n private bindValidations(validations: MECXFieldConfigValidator[]) {\n if (validations.length > 0) {\n const validList: any[] = [];\n validations.forEach((valid: MECXFieldConfigValidator) => {\n const validated = valid.param\n ? validators[valid.name](valid.param)\n : validators[valid.name];\n validList.push(validated);\n });\n return Validators.compose(validList);\n }\n return null;\n }\n\n private buildForm(): FormGroup {\n const form = this.fb.group({\n fields: this.fb.array([])\n });\n\n form?.controls.fields?.valueChanges.subscribe((_) => {\n this.watchForChanges();\n });\n\n return form;\n }\n\n private watchForChanges() {\n const { fields, changesUnsubscribe } = this;\n changesUnsubscribe.next();\n\n this.formValues?.controls?.map((control: any, index: number) => {\n fields.forEach((fieldConfig: MECXFieldConfig) => {\n const { name, alwaysShowPlusValidation } = fieldConfig;\n if (!alwaysShowPlusValidation) return;\n const { field } = alwaysShowPlusValidation;\n if (field) {\n control.controls[field]?.valueChanges.pipe(\n takeUntil(changesUnsubscribe)).subscribe((_: any) => {\n this.makeInternalPlusValidation(\n _,\n name as string,\n alwaysShowPlusValidation,\n index\n );\n });\n }\n });\n return null;\n });\n }\n\n public formBase = () => {\n // return this.fb.group(this.createControl());\n return this.createControl();\n };\n\n public get formValues() {\n return this._form ? (this._form.get('fields') as FormArray) : null;\n }\n\n public fillValues() {\n const { data, qtd } = this;\n if ((!this._form) && qtd) return;\n if (qtd > 0) {\n Array<any>(qtd)\n .fill(null)\n .map((_, index) => {\n let form = this.createControl();\n if (data && data[index]) {\n form = this.createControl(data[index]);\n const handledData = data[index];\n Object.entries(handledData).forEach(([key, value]) => {\n if (MonkeyUtils.persistNullEmptyUndefined(value) && form?.controls[key]) {\n form?.controls[key].setValue(value);\n }\n });\n }\n this.formValues?.push(form as any);\n\n return null;\n });\n }\n }\n\n ngOnInit() {\n this._form = this.buildForm();\n this.fillValues();\n\n this.onHandleUpdateForm.subscribe(() => {\n this.fillValues();\n });\n }\n\n ngOnChanges() {\n if (!this._form) {\n this._form = this.buildForm();\n }\n this.fillValues();\n }\n}\n","import { Directive, EventEmitter, Input, OnInit, OnChanges, Output } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MonkeyUtils } from 'monkey-style-guide';\nimport { MECXFieldConfig, MECXFieldConfigValidator } from '../../interfaces';\nimport { BaseComponent } from './base-component';\nimport { validators } from './base-validators';\n\n@Directive({\n selector: '[baseDynamic]'\n})\nexport abstract class BaseDynamic extends BaseComponent implements OnInit, OnChanges {\n @Input() onHandleSubmit = new EventEmitter<any>();\n\n @Input() onHandleUpdateForm = new EventEmitter<any>();\n\n @Output() onHandleSubmitFormReady: EventEmitter<any> = new EventEmitter<any>();\n\n @Input() self: any;\n\n @Input() fields: MECXFieldConfig[] = [];\n\n @Input() data: any;\n\n @Input() disabled: boolean = false;\n\n _form: FormGroup | null = null;\n\n constructor(private fb: FormBuilder) {\n super();\n }\n\n private createControl() {\n const { fields } = this;\n if (!fields) return null;\n // eslint-disable-next-line object-curly-newline\n const group = this.fb.group({});\n fields.forEach((field: MECXFieldConfig) => {\n const { fieldType, validations, name, disabled } = field;\n let { value } = field;\n if (fieldType === 'button') return;\n if (fieldType === 'radiobutton' || fieldType === 'checkbox' || fieldType === 'select') {\n value = '';\n }\n const control = this.fb.control(value, this.bindValidations(validations || []));\n if (disabled || this.disabled) control.disable();\n group.addControl(name as string, control);\n });\n return group;\n }\n\n private bindValidations(validations: MECXFieldConfigValidator[]) {\n if (validations.length > 0) {\n const validList: any[] = [];\n validations.forEach((valid: MECXFieldConfigValidator) => {\n const validated = valid.param\n ? validators[valid.name](valid.param)\n : validators[valid.name];\n validList.push(validated);\n });\n return Validators.compose(validList);\n }\n return null;\n }\n\n public fillValues() {\n const { data } = this;\n if (!data || !this._form) return;\n Object.entries(data).forEach(([key, value]) => {\n if (MonkeyUtils.persistNullEmptyUndefined(value) && this._form?.controls[key]) {\n this._form?.controls[key]?.setValue(value);\n }\n });\n }\n\n ngOnInit() {\n this._form = this.createControl();\n this.fillValues();\n\n this.onHandleUpdateForm.subscribe(() => {\n this.fillValues();\n });\n }\n\n ngOnChanges() {\n if (!this._form) {\n this._form = this.createControl();\n }\n this.fillValues();\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { AfterContentChecked, Directive, OnInit } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { BaseComponent } from './base-component';\n\n@Directive({\n selector: '[baseScrollComponent]'\n})\nexport abstract class BaseScrollComponent extends BaseComponent\n implements OnInit, AfterContentChecked {\n private routeScrollPositions: { [url: string]: number } = {};\n\n private deferredRestore = false;\n\n constructor(private _pId: Object, private _rt: Router) {\n super();\n }\n\n private saveScroll(url: string) {\n const element: any = document.getElementById('container-3');\n this.routeScrollPositions[url] = element.scrollTop;\n }\n\n private restoreScroll(url: string) {\n const savedScroll = this.routeScrollPositions[url];\n const element: any = document.getElementById('container-3');\n if (!savedScroll) {\n this.deferredRestore = false;\n return false;\n }\n\n element.scrollTop = savedScroll;\n this.deferredRestore = false;\n return true;\n }\n\n private addScrollTopListeners() {\n if ('scrollRestoration' in history) {\n history.scrollRestoration = 'manual';\n }\n\n this._rt.events.subscribe(event => {\n if (event instanceof NavigationStart) {\n this.saveScroll(this._rt.url);\n } else if (event instanceof NavigationEnd) {\n if (!this.restoreScroll(event.url)) {\n setTimeout(() => {\n if (this.deferredRestore) {\n this.restoreScroll(event.url);\n this.deferredRestore = false;\n }\n });\n this.deferredRestore = true;\n }\n }\n });\n }\n\n ngOnInit(): void {\n if (isPlatformBrowser(this._pId)) {\n this.addScrollTopListeners();\n }\n }\n\n ngAfterContentChecked() {\n if (this.deferredRestore) {\n this.restoreScroll(this._rt.url);\n }\n }\n}\n","import { ChangeDetectorRef, Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MECXFieldConfig } from '../../../interfaces';\n\n@Component({\n selector: 'mecx-dynamic-file-upload',\n templateUrl: './file-upload.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicFileUploadComponent {\n @Input() _field: MECXFieldConfig;\n\n @Input() _form: FormGroup;\n\n // eslint-disable-next-line object-curly-newline\n @Input() _formErrors: any | any[] = {};\n\n @Input() self: any;\n\n _function: Function = (file: any, callback?: Function) => {\n if (this._form?.disabled) return;\n if (!this._field?.functions?.onHandleUpload) {\n console.error('onHandleUpload not declared');\n return;\n }\n const { func, type } = this._field?.functions?.onHandleUpload;\n if (!func || !this.self[func]) {\n console.error('onHandleUpload not declared');\n return;\n }\n this.self[func](file, type, callback);\n };\n\n constructor(private cdr: ChangeDetectorRef) {\n // not to do\n }\n\n @HostBinding('class')\n get className() {\n return this._field?.style?.class;\n }\n\n ngOnChanges() {\n this.cdr.detectChanges();\n }\n}\n","<monkey-file-upload\n errorMessage=\"{{ _formErrors[_field?.name]?.firstMessage | translate }} {{ _formErrors[_field?.name]?.lastMessage }}\"\n [icon]=\"_field?.icon\" [formControl]=\"_form.controls[_field?.name]\"\n [placeholder]=\"_field?.placeholder | translate\"\n [helperMessage]=\"_field?.helperMessage | translate\" [label]=\"_field?.label | translate\"\n [maxSize]=\"_field?.maxSize || 5242880\" [fileUpload]=\"_function\"\n [maxSizeErrorMessage]=\"'FIELD.FILE.MAX-FILE' | translate\"\n [allowedExtensionErrorMessage]=\"'FIELD.FILE.ALLOWED-EXTENSION' | translate\"\n [allowedExtensions]=\"_field?.allowedExtensions || []\" *ngIf=\"_field\">\n</monkey-file-upload>","import { ChangeDetectorRef, Component, HostBinding, Input, OnChanges, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MECXFieldConfig } from '../../../interfaces';\n\n@Component({\n selector: 'mecx-dynamic-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicButtonComponent implements OnChanges {\n @Input() _field: MECXFieldConfig | null = null;\n\n @Input() _form: FormGroup | null = null;\n\n // eslint-disable-next-line object-curly-newline\n @Input() _formErrors: any | any[] = {};\n\n @Input() self: any;\n\n constructor(private cdr: ChangeDetectorRef) {\n // not to do\n }\n\n @HostBinding('class')\n get className() {\n return this._field?.style?.class;\n }\n\n ngOnChanges() {\n this.cdr.detectChanges();\n }\n\n onClick() {\n const { _form, _field, self } = this;\n if (_form?.disabled || !_field) return;\n const { name, value } = _field;\n const func = _field?.functions?.onClick;\n if (func) {\n self[func]({\n name,\n value,\n form: _form\n });\n }\n }\n}\n","<monkey-button [icon]=\"_field?.icon\" [type]=\"_field?.type\" [color]=\"_field?.color\"\n (click)=\"onClick()\">\n {{ _field?.label | translate }}\n</monkey-button>","import { ChangeDetectorRef, Component, HostBinding, Input, OnChanges, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MonkeyInputComponent } from 'monkey-style-guide';\nimport { MECXFieldConfig } from '../../../interfaces';\n\n@Component({\n selector: 'mecx-dynamic-input',\n templateUrl: './input.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicInputComponent implements OnInit, OnChanges {\n @Input() _field: MECXFieldConfig | null = null;\n\n @Input() _form: FormGroup | null = null;\n\n // eslint-disable-next-line object-curly-newline\n @Input() _formErrors: any | any[] = {};\n\n @Input() self: any;\n\n @ViewChild('inputElement', {\n static: true\n }) inputElement: MonkeyInputComponent | null = null;\n\n constructor(private cdr: ChangeDetectorRef) {\n // not to do\n }\n\n @HostBinding('class')\n get className() {\n return this._field?.style?.class;\n }\n\n ngOnInit() {\n this.cdr.detectChanges();\n }\n\n ngOnChanges() {\n this.cdr.detectChanges();\n }\n\n onChange(event: string) {\n const { _form, _field, self } = this;\n if (!_field || !_form) return;\n const { name } = _field;\n const func = _field?.functions?.onChange;\n const isValid = _form?.get(_field?.name as string)?.valid;\n if (func) {\n self[func]({\n name,\n isValid,\n event,\n ctrl: _form.get(this._field?.name as string),\n form: _form\n });\n }\n }\n}\n","<monkey-input\r\n errorMessage=\"{{ _formErrors[_field?.name]?.firstMessage | translate }} {{ _formErrors[_field?.name]?.lastMessage }}\"\r\n [mask]=\"_field?.mask\" [prefix]=\"_field?.prefix\" [name]=\"_field?.name\"\r\n [formControl]=\"_form.controls[_field?.name]\" [placeholder]=\"_field?.placeholder | translate\"\r\n [helperMessage]=\"_field?.helperMessage | translate\" [label]=\"_field?.label | translate\"\r\n [type]=\"_field?.type\" #inputElement (onChange)=\"onChange($event)\"\r\n [onlyNumber]=\"_field?.onlyNumber\" [currency]=\"_field?.currency\" [maxLength]=\"_field?.maxLength\"\r\n [maxDateToday]=\"_field?.maxDateToday\">\r\n</monkey-input>","import { ChangeDetectorRef, Component, HostBinding, Input, OnChanges, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MonkeyInputComponent } from 'monkey-style-guide';\nimport { MECXFieldConfig } from '../../../interfaces';\n\n@Component({\n selector: 'mecx-dynamic-input-phone',\n templateUrl: './input-phone.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicInputPhoneComponent implements OnInit, OnChanges {\n @Input() _field: MECXFieldConfig | null = null;\n\n @Input() _form: FormGroup | null = null;\n\n // eslint-disable-next-line object-curly-newline\n @Input() _formErrors: any | any[] = {};\n\n @Input() self: any;\n\n @ViewChild('inputElement', {\n static: true\n }) inputElement: MonkeyInputComponent | null = null;\n\n constructor(private cdr: ChangeDetectorRef) {\n // not to do\n }\n\n @HostBinding('class')\n get className() {\n return this._field?.style?.class;\n }\n\n ngOnInit() {\n this.cdr.detectChanges();\n }\n\n ngOnChanges() {\n this.cdr.detectChanges();\n }\n\n onChange(event: string) {\n const { _form, _field, self } = this;\n if (!_field || !_form) return;\n const { name } = _field;\n const func = _field?.functions?.onChange;\n const isValid = _form?.get(_field?.name as string)?.valid;\n if (func) {\n self[func]({\n name,\n isValid,\n event,\n ctrl: _form.get(this._field?.name as string),\n form: _form\n });\n }\n }\n}\n","<monkey-input-phone [name]=\"_field?.name\" [label]=\"_field?.label | translate\"\r\n [helperMessage]=\"_field?.helperMessage | translate\"\r\n [placeholder]=\"_field?.placeholder | translate\" [icon]=\"_field?.icon\"\r\n (onChange)=\"onChange($event)\" [internationalNumber]=\"_field?.internationalNumber\"\r\n errorMessage=\"{{ _formErrors[_field?.name]?.firstMessage | translate }} {{ _formErrors[_field?.name]?.lastMessage }}\"\r\n [maxLength]=\"_field?.maxLength\" [formControl]=\"_form.controls[_field?.name]\" #inputElement>\r\n</monkey-input-phone>","import { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MECXFieldConfig } from '../../../interfaces';\n\n@Component({\n selector: 'mecx-dynamic-radio',\n templateUrl: './radio.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicRadioComponent {\n @Input() _field: MECXFieldConfig | null = null;\n\n @Input() _form: FormGroup | null = null;\n\n // eslint-disable-next-line object-curly-newline\n @Input() _formErrors: any | any[] = {};\n\n @HostBinding('class')\n get className() {\n return this._field?.style?.class;\n }\n}\n","<monkey-radiobutton\n errorMessage=\"{{ _formErrors[_field?.name]?.firstMessage | translate }} {{ _formErrors[_field?.name]?.lastMessage }}\"\n [formControl]=\"_form.controls[_field?.name]\" [helperMessage]=\"_field?.helperMessage | translate\"\n [label]=\"_field?.label | translate\">\n <monkey-option *ngFor=\"let value of _field?.value\" [label]=\"value.description | translate\"\n [value]=\"value.value\">\n </monkey-option>\n</monkey-radiobutton>","import {\n Component,\n HostBinding,\n Input,\n EventEmitter,\n ViewEncapsulation\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MECXFieldConfig, MECXFieldConfigValue } from '../../../interfaces';\n\n@Component({\n selector: 'mecx-dynamic-select',\n templateUrl: './select.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicSelectComponent {\n @Input() _field: MECXFieldConfig | null = null;\n\n @Input() _form: FormGroup | null = null;\n\n // eslint-disable-next-line object-curly-newline\n @Input() _formErrors: any | any[] = {};\n\n @Input() self: any;\n\n @HostBinding('class')\n get className() {\n return this._field?.style?.class;\n }\n\n _onHandleOptions = new EventEmitter<any>();\n\n onHandleGenericLoad() {\n const { _form, _field, self } = this;\n if (_form?.disabled || !_field || !_field?.functions?.onHandleGenericLoad) return;\n const { name } = _field;\n if ((_field?.value as MECXFieldConfigValue[])?.length) return;\n const { func, url } = _field?.functions?.onHandleGenericLoad;\n if (!func || !self[func]) {\n console.error('onHandleGenericLoad not declared');\n return;\n }\n _form?.disable();\n self[func]({\n name,\n url,\n form: _form,\n callback: (data: any[]) => {\n if (this._field) {\n this._field.value = data;\n }\n this._form?.enable();\n this._onHandleOptions.next(null);\n }\n });\n }\n\n onChange(event: string) {\n const { _form, _field, self } = this;\n if (!_field || !_form) return;\n const { name } = _field;\n const func = _field?.functions?.onChange;\n const isValid = _form?.get(_field.name as string)?.valid;\n if (func) {\n self[func]({\n name,\n isValid,\n event,\n ctrl: _form?.get(this._field?.name as string),\n form: _form,\n value: _field.value\n });\n }\n }\n}\n","<monkey-select\n errorMessage=\"{{ _formErrors[_field?.name]?.firstMessage | translate }} {{ _formErrors[_field?.name]?.lastMessage }}\"\n [formControl]=\"_form.controls[_field?.name]\" [helperMessage]=\"_field?.helperMessage | translate\"\n [label]=\"_field?.label | translate\" (click)=\"onHandleGenericLoad()\"\n [onHandleOptions]=\"_onHandleOptions\" (onChange)=\"onChange($event)\"\n [labelSelect]=\"_form.get(_field?.name).value || ('FIELD.SELECT' | translate)\"\n [placeholder]=\"_field?.placeholder | translate\">\n <monkey-option [label]=\"'FIELD.LOADING' | translate\" *ngIf=\"!_field?.value?.length\"\n enableClick=\"false\">\n </monkey-option>\n <monkey-option *ngFor=\"let value of _field?.value\" [label]=\"value.description | translate\"\n [value]=\"value.value\">\n </monkey-option>\n</monkey-select>","import {\n Component,\n HostBinding,\n Input,\n EventEmitter,\n ViewEncapsulation\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MECXFieldConfig, MECXFieldConfigValue } from '../../../interfaces';\n\n@Component({\n selector: 'mecx-dynamic-select-search',\n templateUrl: './select-search.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicSelectSearchComponent {\n @Input() _field: MECXFieldConfig | null = null;\n\n @Input() _form: FormGroup | null = null;\n\n // eslint-disable-next-line object-curly-newline\n @Input() _formErrors: any | any[] = {};\n\n @Input() self: any;\n\n @HostBinding('class')\n get className() {\n return this._field?.style?.class;\n }\n\n _onHandleOptions = new EventEmitter<any>();\n\n onHandleGenericLoad() {\n const { _form, _field, self } = this;\n if (_form?.disabled || !_field || !_field?.functions?.onHandleGenericLoad) return;\n const { name } = _field;\n if ((_field?.value as MECXFieldConfigValue[])?.length) return;\n const { func, url } = _field?.functions?.onHandleGenericLoad;\n if (!func || !self[func]) {\n console.error('onHandleGenericLoad not declared');\n return;\n }\n _form?.disable();\n self[func]({\n name,\n url,\n form: _form,\n callback: (data: any[]) => {\n if (this._field) {\n this._field.value = data;\n }\n this._form?.enable();\n this._onHandleOptions.next(null);\n }\n });\n }\n\n onChange(event: string) {\n const { _form, _field, self } = this;\n if (!_field || !_form) return;\n const { name } = _field;\n const func = _field?.functions?.onChange;\n const isValid = _form?.get(_field?.name as string)?.valid;\n if (func) {\n self[func]({\n name,\n isValid,\n event,\n ctrl: _form.get(this._field?.name as string),\n form: _form,\n value: _field.value\n });\n }\n }\n}\n","<monkey-select-search\n errorMessage=\"{{ _formErrors[_field?.name]?.firstMessage | translate }} {{ _formErrors[_field?.name]?.lastMessage }}\"\n [formControl]=\"_form.controls[_field?.name]\" [helperMessage]=\"_field?.helperMessage | translate\"\n [label]=\"_field?.label | translate\" (click)=\"onHandleGenericLoad()\"\n [onHandleOptions]=\"_onHandleOptions\" (onChange)=\"onChange($event)\"\n [fieldToCompare]=\"_field?.fieldToCompare\"\n [labelSelect]=\"_form.get(_field?.name).value || ('FIELD.SELECT' | translate)\"\n [placeholder]=\"_field?.placeholder | translate\">\n <monkey-option [label]=\"'FIELD.LOADING' | translate\" *ngIf=\"!_field?.value?.length\"\n enableClick=\"false\">\n </monkey-option>\n <monkey-option *ngFor=\"let value of _field?.value\" [label]=\"value.description | translate\"\n [value]=\"value.value\">\n </monkey-option>\n</monkey-select-search>","import {\n ChangeDetectorRef,\n ComponentFactoryResolver,\n Directive,\n Input,\n OnChanges,\n OnInit,\n ViewContainerRef\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MECXFieldConfig } from '../../interfaces';\nimport { MECXDynamicButtonComponent } from './button';\nimport { MECXDynamicFileUploadComponent } from './file-upload';\nimport { MECXDynamicInputComponent } from './input';\nimport { MECXDynamicInputPhoneComponent } from './input-phone';\nimport { MECXDynamicRadioComponent } from './radio';\nimport { MECXDynamicSelectComponent } from './select';\nimport { MECXDynamicSelectSearchComponent } from './select-search';\n\nconst componentMapper: any = {\n input: MECXDynamicInputComponent,\n 'input-phone': MECXDynamicInputPhoneComponent,\n radiobutton: MECXDynamicRadioComponent,\n select: MECXDynamicSelectComponent,\n 'select-search': MECXDynamicSelectSearchComponent,\n 'file-upload': MECXDynamicFileUploadComponent,\n button: MECXDynamicButtonComponent\n};\n\n@Directive({\n selector: '[MECXDynamic]'\n})\nexport class MECXDynamicDirective implements OnInit, OnChanges {\n @Input() field: MECXFieldConfig | null = null;\n\n @Input() form: FormGroup | null = null;\n\n @Input() formErrors: any;\n\n @Input() self: any;\n\n @Input() plusValidations: any;\n\n componentRef: any;\n\n constructor(private resolver: ComponentFactoryResolver, private container: ViewContainerRef,\n private cdr: ChangeDetectorRef) {\n // not to do\n }\n\n private handleInternalPlusValidation() {\n if (!this.field?.alwaysShowPlusValidation) return false;\n const { operator, value, field } = this.field?.alwaysShowPlusValidation;\n const validators: any = {\n e: (val1: any, val2: string) => { return val1 === val2; },\n lt: (val1: any, val2: string) => { return val1 < val2; },\n gt: (val1: any, val2: string) => { return val1 > val2; }\n };\n const data = this.form?.controls[field as string]?.value;\n\n return validators[operator as string](data, value);\n }\n\n private buildComponent() {\n if (this.componentRef?.instance) return;\n const factory = this.resolver.resolveComponentFactory(\n componentMapper[this.field?.fieldType as string]\n );\n this.componentRef = this.container.createComponent(factory);\n this.componentRef.instance._field = this.field;\n this.componentRef.instance._form = this.form;\n // eslint-disable-next-line object-curly-newline\n this.componentRef.instance._formErrors = this.formErrors || {};\n this.componentRef.instance.self = this.self;\n }\n\n ngOnInit() {\n if (!this.field?.alwaysShow && !this.handleInternalPlusValidation()) return;\n this.buildComponent();\n }\n\n ngOnChanges() {\n if (this.plusValidations && this.plusValidations[this.field?.name as string]) {\n if (!this.field?.alwaysShow && this.plusValidations[this.field?.name as string].alwaysShow) {\n setTimeout(() => {\n this.buildComponent();\n this.cdr.detectChanges();\n }, 1);\n }\n if (this.componentRef?.instance &&\n !this.plusValidations[this.field?.name as string].alwaysShow) {\n this.componentRef.destroy();\n this.componentRef = null;\n this.form?.controls[this.field?.name as string]?.setValue(null);\n this.form?.controls[this.field?.name as string]?.clearValidators();\n }\n }\n if (!this.componentRef?.instance) return;\n this.componentRef.instance._formErrors = this.formErrors || {\n };\n }\n}\n","import { Component, OnInit, ViewEncapsulation, OnDestroy, ChangeDetectorRef } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { BaseDynamic } from '../../base/base-dynamic';\n\n@Component({\n selector: 'mecx-dynamic-form',\n templateUrl: './dynamic-form.component.html',\n styles: [],\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicFormComponent extends BaseDynamic implements OnInit, OnDestroy {\n private unsubscribeAll = new Subject();\n\n constructor(fb: FormBuilder, private cdr: ChangeDetectorRef) {\n super(fb);\n }\n\n ngOnInit() {\n super.ngOnInit();\n\n this.onHandleSubmit.pipe(takeUntil(this.unsubscribeAll)).subscribe((func: Function) => {\n this.onSubmit(func);\n });\n }\n\n ngOnDestroy() {\n this.unsubscribeAll.next();\n this.unsubscribeAll.complete();\n }\n\n onSubmit(callback: Function) {\n const { _form } = this;\n // eslint-disable-next-line object-curly-newline\n this.__monkeyecxFormErrors = {};\n\n const isValid = this.validateForm(_form as any);\n this.cdr.detectChanges();\n\n this.onHandleSubmitFormReady.next({\n validate: {\n isValid\n },\n callback,\n form: _form\n });\n }\n}\n","<form name=\"form\" [formGroup]=\"_form\" *ngIf=\"_form\">\n <div class=\"row\">\n <div *ngFor=\"let field of fields;\" MECXDynamic [field]=\"field\" [form]=\"_form\" [self]=\"self\"\n [formErrors]=\"__monkeyecxFormErrors\" [style.display]=\"'none'\">\n </div>\n </div>\n</form>","import { Component, OnInit, ViewEncapsulation, OnDestroy, ChangeDetectorRef } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { BaseDynamicArray } from '../../base';\n\n@Component({\n selector: 'mecx-dynamic-form-array',\n templateUrl: './dynamic-form-array.component.html',\n styleUrls: ['./dynamic-form-array.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicFormArrayComponent extends BaseDynamicArray implements OnInit, OnDestroy {\n private unsubscribeAll = new Subject();\n\n constructor(fb: FormBuilder, private cdr: ChangeDetectorRef) {\n super(fb);\n this.__monkeyecxFormErrors = [];\n }\n\n ngOnInit() {\n super.ngOnInit();\n\n this.onHandleSubmit.pipe(takeUntil(this.unsubscribeAll)).subscribe((func: Function) => {\n this.onSubmit(func);\n });\n }\n\n ngOnDestroy() {\n this.unsubscribeAll.next();\n this.unsubscribeAll.complete();\n }\n\n onSubmit(callback: Function) {\n const { _form } = this;\n // eslint-disable-next-line object-curly-newline\n this.__monkeyecxFormErrors = [];\n\n let validate = {\n isValid: false\n };\n let hasErrors: boolean = false;\n if (this.formValues) {\n this.__monkeyecxFormErrors = [this.formValues.length];\n this.formValues.controls.forEach((item: any, index: number) => {\n if (item instanceof FormGroup) {\n if (!this.validateForm(item, index)) {\n hasErrors = true;\n }\n }\n });\n }\n validate = {\n isValid: !hasErrors\n };\n\n this.cdr.detectChanges();\n\n this.onHandleSubmitFormReady.next({\n validate,\n callback,\n form: _form\n });\n }\n\n onHandleAdd() {\n this.formValues?.push(this.formBase() as any);\n this.cdr.detectChanges();\n }\n\n onHandleRemove(index: number) {\n this.formValues?.removeAt(index);\n this._plusValidations.splice(index, 1);\n }\n}\n","<form name=\"form\" [formGroup]=\"_form\" *ngIf=\"_form\">\n <div formArrayName=\"fields\">\n <div *ngFor=\"let item of formValues.controls; let indForm=index\" [formGroupName]=\"indForm\">\n <monkey-button type=\"secondary\" color=\"error\" icon=\"close-20\" iconPosition=\"right\"\n [label]=\"'BUTTONS.REMOVE' | translate\" (click)=\"onHandleRemove(indForm)\"\n *ngIf=\"formValues.controls.length > 1 && !disabled\">\n </monkey-button>\n <div class=\"row mt-3\">\n <div *ngFor=\"let field of fields;\" MECXDynamic [field]=\"field\" [form]=\"item\" [self]=\"self\"\n [formErrors]=\"__monkeyecxFormErrors[indForm]\"\n [plusValidations]=\"_plusValidations[indForm]\" [style.display]=\"'none'\">\n </div>\n </div>\n </div>\n </div>\n</form>\n<monkey-button type=\"secondary\" color=\"theme\" icon=\"more-20\" iconPosition=\"right\"\n [label]=\"'BUTTONS.ADD' | translate\" (click)=\"onHandleAdd()\" *ngIf=\"!disabled\">\n</monkey-button>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {\n MonkeyButtonModule,\n MonkeyFileUploadModule,\n MonkeyInputModule,\n MonkeyInputPhoneModule,\n MonkeyOptionModule,\n MonkeyRadioButtonModule,\n MonkeySelectModule\n} from 'monkey-style-guide';\nimport { MECXDynamicButtonComponent } from './button';\nimport { MECXDynamicDirective } from './dynamic-directive';\nimport { MECXDynamicFileUploadComponent } from './file-upload';\nimport { MECXDynamicFormComponent, MECXDynamicFormArrayComponent } from './form';\nimport { MECXDynamicInputComponent } from './input';\nimport { MECXDynamicInputPhoneComponent } from './input-phone';\nimport { MECXDynamicRadioComponent } from './radio';\nimport { MECXDynamicSelectComponent } from './select';\nimport { MECXDynamicSelectSearchComponent } from './select-search';\n\n@NgModule({\n declarations: [\n MECXDynamicButtonComponent,\n MECXDynamicFileUploadComponent,\n MECXDynamicFormComponent,\n MECXDynamicFormArrayComponent,\n MECXDynamicInputComponent,\n MECXDynamicInputPhoneComponent,\n MECXDynamicRadioComponent,\n MECXDynamicSelectComponent,\n MECXDynamicSelectSearchComponent,\n MECXDynamicDirective\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MonkeyInputModule,\n MonkeySelectModule,\n MonkeyRadioButtonModule,\n MonkeyOptionModule,\n MonkeyFileUploadModule,\n MonkeyButtonModule,\n MonkeyInputPhoneModule,\n TranslateModule.forChild()\n ],\n exports: [MECXDynamicDirective, MECXDynamicFormComponent, MECXDynamicFormArrayComponent],\n entryComponents: [MECXDynamicInputComponent]\n})\nexport class MECXDynamicModule {}\n","import { Component, Input, OnChanges, ViewEncapsulation, Output, EventEmitter } from '@angular/core';\nimport { MonkeyEcxConfig, MonkeyEcxConfigService, MonkeyEcxUtils } from 'monkey-front-core';\nimport { PasswordStrength } from './password-strength';\n\n@Component({\n selector: 'mecx-password-strength',\n templateUrl: './password-strength.component.html',\n styleUrls: ['./password-strength.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXPasswordStrengthComponent implements OnChanges {\n @Input() passwordToCheck: string | null = null;\n\n @Output() onHandleSubmitReady = new EventEmitter<any>();\n\n _validatorsPasswordPass: Array<PasswordStrength> = [];\n\n _stepPassword = 0;\n\n private validatorsPassword = new Map();\n\n constructor(private configService: MonkeyEcxConfigService) {\n // not do\n }\n\n private handleColor(score: number) {\n let idx = 0;\n if (score > 50) idx = 1;\n if (score === 100) idx = 2;\n this._stepPassword = idx;\n }\n\n private passwordStrengthValidator(pass : string) {\n this._validatorsPasswordPass = [];\n let score = 0;\n\n this.validatorsPassword.forEach((key, value) => {\n this._validatorsPasswordPass.push({\n regex: `${value}`,\n validate: `${key.VALIDATE}` === String(RegExp(`${key.REGEX}`).test(pass)),\n percent: 100 / this.validatorsPassword.size\n });\n });\n\n this._validatorsPasswordPass.forEach((check) => {\n if (check.validate) {\n score += check.percent;\n }\n });\n\n return Math.trunc(score);\n }\n\n private onHandleReady() {\n const validate = this._validatorsPasswordPass?.find(({ validate }) => { return !validate; });\n this.onHandleSubmitReady.next(!validate);\n }\n\n private onHandleChages() {\n const password = this.passwordToCheck;\n this.handleColor(this.passwordStrengthValidator(password as string));\n this.onHandleReady();\n }\n\n private onHandlePasswordStrengthKeys(params: MonkeyEcxConfig) {\n const ps = params?.program?.screens?.login?.passwordStrength;\n if (ps) {\n Object.entries(ps)\n .forEach(([key, value]) => {\n if (MonkeyEcxUtils.persistNullEmptyUndefined(value)) {\n this.validatorsPassword.set(key, value);\n }\n });\n this.onHandleChages();\n }\n }\n\n ngOnInit() {\n this.configService.config().subscribe((_: MonkeyEcxConfig) => {\n this.onHandlePasswordStrengthKeys(_);\n });\n }\n\n ngOnChanges(): void {\n this.onHandleChages();\n }\n}\n","<ng-container *ngIf=\"_validatorsPasswordPass?.length\">\n <div id=\"strength\" class=\"d-flex full-width flex-column justify-content-center align-items-center\"\n #strength>\n <div id=\"strengthBar\" class=\"strength-bar d-flex full-width flex-row\">\n <div class=\"d-flex full-width align-items-center\">\n <div class=\"bar-label\">\n <small>{{ 'SCREENS.LOGIN.REGISTER.PASSWORD-STRENGTH.TITLE' | translate }}</small>\n </div>\n </div>\n <div class=\"d-flex full-width align-items-center flex-column\">\n <div class=\"point\" [class.error]=\"_stepPassword === 0\" [class.warning]=\"_stepPassword === 1\"\n [class.success]=\"_stepPassword === 2\">\n </div>\n <ng-container *ngIf=\"_stepPassword === 0\">\n <ng-container *ngTemplateOutlet=\"stepPasswordLabel\"></ng-container>\n </ng-container>\n </div>\n <div class=\"d-flex full-width align-items-center flex-column\">\n <div class=\"point\" [class.warning]=\"_stepPassword === 1\"\n [class.success]=\"_stepPassword === 2\"></div>\n <ng-container *ngIf=\"_stepPassword === 1\">\n <ng-container *ngTemplateOutlet=\"stepPasswordLabel\"></ng-container>\n </ng-container>\n </div>\n <div class=\"d-flex full-width align-items-center flex-column\">\n <div class=\"point\" [class.success]=\"_stepPassword === 2\"></div>\n <ng-container *ngIf=\"_stepPassword === 2\">\n <ng-container *ngTemplateOutlet=\"stepPasswordLabel\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"callbacks mt-2 row\">\n <div class=\"col-sm-6 mt-2 d-flex justify-content-start\"\n *ngFor=\"let validators of _validatorsPasswordPass\">\n <monkey-icon *ngIf=\"validators.validate\" icon=\"check-circle-20\"></monkey-icon>\n <monkey-icon *ngIf=\"!validators.validate\" icon=\"error-20\"></monkey-icon>\n <span class=\"ml-2\">\n {{ 'SCREENS.LOGIN.REGISTER.PASSWORD-STRENGTH.TYPES.' + validators.regex | translate }}\n </span>\n </div>\n </div>\n</ng-container>\n<ng-template #stepPasswordLabel>\n <div class=\"name-point mt-1\" [class.error]=\"_stepPassword === 0\"\n [class.warning]=\"_stepPassword === 1\" [class.success]=\"_stepPassword === 2\">\n {{ 'SCREENS.LOGIN.REGISTER.PASSWORD-STRENGTH.LABELS.' + _stepPassword | translate }}\n </div>\n</ng-template>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MonkeyEcxDirectivesModule, MonkeyEcxPipesModule } from 'monkey-front-core';\nimport { MonkeyButtonModule, MonkeyInputModule, MonkeyIconModule } from 'monkey-style-guide';\nimport { MECXPasswordStrengthComponent } from './password-strength.component';\n\n@NgModule({\n declarations: [MECXPasswordStrengthComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MonkeyEcxPipesModule,\n MonkeyEcxDirectivesModule,\n MonkeyButtonModule,\n MonkeyInputModule,\n MonkeyIconModule,\n TranslateModule.forChild()\n ],\n exports: [MECXPasswordStrengthComponent]\n})\nexport class MECXPasswordStrengthModule {}\n","import { Injectable } from '@angular/core';\nimport {\n NavigationCancel,\n NavigationEnd,\n NavigationError,\n NavigationStart,\n Router\n} from '@angular/router';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MECXProgressBarService {\n private visible: BehaviorSubject<any> = new BehaviorSubject(false);\n\n constructor(private router: Router) {\n this.init();\n }\n\n private init() {\n this.router.events\n .pipe(\n filter((event: any) => {\n return event instanceof NavigationStart;\n })\n )\n .subscribe(() => {\n this.show();\n });\n\n this.router.events\n .pipe(\n filter((event: any) => {\n return (\n event instanceof NavigationEnd ||\n event instanceof NavigationError ||\n event instanceof NavigationCancel\n );\n })\n )\n .subscribe(() => {\n this.hide();\n });\n }\n\n show() {\n this.visible.next(true);\n }\n\n hide() {\n this.visible.next(false);\n }\n\n visibleConfig(): Observable<any> {\n return this.visible.asObservable();\n }\n}\n","import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { BaseComponent } from '../../base/base-component';\nimport { MECXProgressBarService } from './progress-bar.service';\n\n@Component({\n selector: 'mecx-progress-bar',\n templateUrl: './progress-bar.component.html',\n styleUrls: ['./progress-bar.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXProgressBarComponent extends BaseComponent implements OnInit, OnDestroy {\n visible: boolean = false;\n\n constructor(private progressBarService: MECXProgressBarService) {\n super();\n }\n\n ngOnInit() {\n this.progressBarService\n .visibleConfig()\n .pipe(takeUntil(this.__unsubscribeAll))\n .subscribe((visible: boolean) => {\n this.visible = visible;\n });\n }\n}\n","<ng-container *ngIf=\"visible\">\n <progress class=\"monkey-progress monkey-progress__theme\"></progress>\n</ng-container>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MECXProgressBarComponent } from './progress-bar.component';\n\n@NgModule({\n declarations: [MECXProgressBarComponent],\n imports: [CommonModule],\n exports: [MECXProgressBarComponent]\n})\nexport class MECXProgressBarModule {}\n","/*\n * Public API Surface of monkey-front-components\n */\n\nexport * from './lib/components';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Validators_","Validators"],"mappings":"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"}
1
+ {"version":3,"file":"monkey-front-components.mjs","sources":["../../../projects/monkey-front-components/src/lib/components/base/base-component.ts","../../../projects/monkey-front-components/src/lib/components/base/base-validators.ts","../../../projects/monkey-front-components/src/lib/components/base/base-dynamic-array.ts","../../../projects/monkey-front-components/src/lib/components/base/base-dynamic.ts","../../../projects/monkey-front-components/src/lib/components/base/base-scroll-component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/file-upload/file-upload.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/file-upload/file-upload.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/button/button.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/button/button.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/input/input.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/input/input.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/input-phone/input-phone.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/input-phone/input-phone.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/radio/radio.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/radio/radio.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/select/select.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/select/select.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/select-search/select-search.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/select-search/select-search.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/dynamic-directive.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/form/dynamic-form.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/form/dynamic-form.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/form/dynamic-form-array.component.ts","../../../projects/monkey-front-components/src/lib/components/dynamic/form/dynamic-form-array.component.html","../../../projects/monkey-front-components/src/lib/components/dynamic/dynamic.module.ts","../../../projects/monkey-front-components/src/lib/components/shared/password-strength/password-strength.component.ts","../../../projects/monkey-front-components/src/lib/components/shared/password-strength/password-strength.component.html","../../../projects/monkey-front-components/src/lib/components/shared/password-strength/password-strength.module.ts","../../../projects/monkey-front-components/src/lib/components/shared/progress-bar/progress-bar.service.ts","../../../projects/monkey-front-components/src/lib/components/shared/progress-bar/progress-bar.component.ts","../../../projects/monkey-front-components/src/lib/components/shared/progress-bar/progress-bar.component.html","../../../projects/monkey-front-components/src/lib/components/shared/progress-bar/progress-bar.module.ts","../../../projects/monkey-front-components/src/public-api.ts","../../../projects/monkey-front-components/src/monkey-front-components.ts"],"sourcesContent":["/* eslint-disable max-len */\nimport { AbstractControl, FormGroup } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { OnDestroy, Directive } from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { MonkeyUtils } from 'monkey-style-guide';\nimport {\n MonkeyEcxCommonsService,\n MonkeyEcxErrorResponse,\n MonkeyEcxPaginationOptions,\n MonkeyEcxScrollOptions,\n MonkeyEcxSupportOptions,\n MonkeyEcxTranslateOptions,\n ValidateUtils\n} from 'monkey-front-core';\n\n@Directive({\n selector: '[baseComponent]'\n})\nexport abstract class BaseComponent implements OnDestroy {\n __monkeyecxFormErrors: any | any[];\n\n __unsubscribeAll: Subject<any>;\n\n __paginationOptions: MonkeyEcxPaginationOptions | null = null;\n\n __i18n: any;\n\n __isMobile = this.isMobile();\n\n __locales = ['pt-BR', 'es-CL'];\n\n private paginationFunc: any;\n\n protected constructor() {\n this.__unsubscribeAll = new Subject();\n }\n\n private isMobile() {\n const isMobileWidth = (window.screen.width <= 640) ||\n (window.matchMedia &&\n window.matchMedia('only screen and (max-width: 640px)').matches\n );\n return (/Android|webOS|iPhone|iPad|iPod|BlackBerry|Mobile/i.test(\n navigator.userAgent\n )) || isMobileWidth;\n }\n\n private handlePagination(create = true) {\n const { __paginationOptions } = this;\n\n if (__paginationOptions) {\n const { mainElement, service } = __paginationOptions;\n\n const element = document.getElementById(mainElement);\n\n if (element) {\n element.scroll = null;\n element.onscroll = null;\n\n element.removeEventListener('scroll', (element as any).eventListeners('scroll'));\n element.removeEventListener('scroll', (element as any).eventListeners('scroll')[0]);\n if (create) {\n element.addEventListener('scroll', () => {\n const { scrollTop, scrollHeight, offsetHeight } = element;\n const contentHeight = scrollHeight - offsetHeight;\n\n if (contentHeight <= scrollTop) {\n service.doPagination();\n }\n });\n }\n }\n }\n }\n\n private handleSupport(supportControls: MonkeyEcxSupportOptions) {\n const { service, show } = supportControls;\n const method = show ? 'show' : 'hide';\n service[method.toLowerCase()]();\n }\n\n private handleTranslate(translateOptions: MonkeyEcxTranslateOptions) {\n const { service } = translateOptions;\n service.__oni18nDataChanged$\n .pipe(takeUntil(this.__unsubscribeAll))\n .subscribe(() => {\n const data = service.__i18n;\n if (data) {\n this.__i18n = data;\n }\n });\n }\n\n private handleViewScroll(options: MonkeyEcxScrollOptions) {\n const { elementId, service } = options;\n\n if (elementId === service?.__savedState?.scrollElementId) {\n this.goScroll(elementId);\n\n service.__savedState.scrollElementId = null;\n }\n }\n\n private getErrorFirstMessageTranslated(formControl: AbstractControl | null = null) {\n if (formControl?.hasError('required')) return 'FIELD-REQUIRED';\n if (formControl?.hasError('invalid')) return 'FIELD-INVALID';\n if (formControl?.hasError('email')) return 'INVALID-EMAIL';\n if (formControl?.hasError('minlength')) return 'MIN-LENGTH';\n if (formControl?.hasError('maxlength')) return 'MAX-LENGTH';\n if (formControl?.hasError('max')) return 'MAX';\n if (formControl?.hasError('min')) return 'MIN';\n if (formControl?.hasError('passwordsNotMatching')) return 'MATCH-PASSWORD';\n if (formControl?.hasError('invalidDate')) return 'INVALID-DATE';\n if (formControl?.hasError('invalidTrue')) return 'INVALID-TRUE';\n if (formControl?.hasError('invalidCpfCnpj')) return 'INVALID-DOCUMENT';\n if (formControl?.hasError('invalidZipCode')) return 'INVALID-ZIPCODE';\n if (formControl?.hasError('invalidCombo')) return 'INVALID-COMBO';\n if (formControl?.hasError('invalidUrl')) return 'INVALID-URL';\n if (formControl?.hasError('invalidUnlockRegister')) { return 'INVALID-UNLOCK-REGISTER'; }\n if (formControl?.hasError('dateStartMustBeLessThanAnd')) {\n return 'DATE-START-MUST-BE-LESS-THAN-AND';\n }\n if (formControl?.hasError('dateEndMustBeGreaterThanStart')) {\n return 'DATE-END-MUST-BE-GREATER-THAN-SART';\n }\n if (formControl?.hasError('phone')) return 'INVALID-PHONE';\n if (formControl?.hasError('invalidValueGreaterThanZero')) return 'INVALID-GREATER-THAN-ZERO';\n\n return 'FIELD-INVALID';\n }\n\n private getErrorLastMessageNotTranslated(formControl: AbstractControl | null = null) {\n if (formControl?.hasError('minlength')) {\n return `${formControl?.getError('minlength').requiredLength} caracteres.`;\n }\n if (formControl?.hasError('maxlength')) {\n return `${formControl?.getError('maxlength').requiredLength} caracteres.`;\n }\n if (formControl?.hasError('max')) { return `${formControl?.getError('max').max}`; }\n if (formControl?.hasError('min')) { return `${formControl?.getError('min').min}`; }\n\n return '';\n }\n\n public validateFormWithTranslate(f: FormGroup, index?: number): boolean {\n const formErrors: any = f.value;\n\n if (f.status === 'VALID') return true;\n\n if (!formErrors) return true;\n Object.entries(formErrors).forEach(([key, value]) => {\n const control = f.get(key);\n formErrors[key] = '';\n if (control && !control.valid) {\n const msg = {\n first: `ERRORS.${this.getErrorFirstMessageTranslated(f.get(key))}`,\n last: this.getErrorLastMessageNotTranslated(f.get(key))\n };\n formErrors[key] = msg;\n }\n });\n\n if (MonkeyUtils.persistNullEmptyUndefined(index)) { this.__monkeyecxFormErrors[index || 0] = formErrors; } else {\n this.__monkeyecxFormErrors = formErrors;\n }\n\n return false;\n }\n\n public copyToClipboard(val: string) {\n const selBox = document.createElement('textarea');\n selBox.style.position = 'fixed';\n selBox.style.left = '0';\n selBox.style.top = '0';\n selBox.style.opacity = '0';\n selBox.value = val;\n document.body.appendChild(selBox);\n selBox.focus();\n selBox.select();\n document.execCommand('copy');\n document.body.removeChild(selBox);\n }\n\n public validateForm(f: FormGroup, index?: number, alias?: string): boolean {\n const formErrors: any = f.value;\n if (f.status === 'VALID') return true;\n\n if (!formErrors) return true;\n Object.entries(formErrors).forEach(([key, value]) => {\n const control = f.get(key);\n formErrors[key] = '';\n if (control && !control.valid) {\n const msg = {\n firstMessage: `ERRORS.${this.getErrorFirstMessageTranslated(\n f.get(key)\n )}`,\n lastMessage: this.getErrorLastMessageNotTranslated(f.get(key))\n };\n formErrors[key] = msg;\n }\n });\n\n if (MonkeyUtils.persistNullEmptyUndefined(index)) {\n this.__monkeyecxFormErrors[index || 0] = formErrors;\n } else {\n let obj: any;\n\n if (alias) {\n obj = {\n [alias]: {\n ...formErrors\n }\n };\n } else {\n obj = formErrors;\n }\n\n this.__monkeyecxFormErrors = {\n ...this.__monkeyecxFormErrors,\n ...obj\n };\n }\n f.markAllAsTouched();\n return false;\n }\n\n public clearAllServiceData(clearData: boolean) {\n const context = this;\n Object.values(context).forEach((ctx: any) => {\n if (ctx instanceof MonkeyEcxCommonsService) {\n ctx.clear(clearData);\n }\n });\n }\n\n public ngOnInit(args: {\n paginationOptions?: MonkeyEcxPaginationOptions;\n supportControls?: MonkeyEcxSupportOptions;\n scrollOptions?: MonkeyEcxScrollOptions;\n translateOptions?: MonkeyEcxTranslateOptions;\n }) {\n if (args?.paginationOptions) {\n this.__paginationOptions = args?.paginationOptions;\n this.handlePagination();\n }\n if (args?.supportControls) {\n this.handleSupport(args?.supportControls);\n }\n if (args?.translateOptions) {\n this.handleTranslate(args?.translateOptions);\n }\n if (args?.scrollOptions) {\n this.handleViewScroll(args.scrollOptions);\n }\n }\n\n public ngOnDestroy(clearData: boolean = true) {\n this.__unsubscribeAll.next();\n this.__unsubscribeAll.complete();\n this.clearAllServiceData(clearData);\n this.handlePagination(false);\n }\n\n public handleErrorFromServices(error: MonkeyEcxErrorResponse, f: FormGroup) {\n this.__monkeyecxFormErrors = null;\n if (error.type === 'Parameter_Error') {\n Object.entries(f.value).forEach(([key, value]) => {\n error.notifications.forEach((_: any) => {\n const field = _.split(':')[0];\n const description = _.split(':')[1];\n if (field === key) {\n const msg = {\n firstMessage: '',\n lastMessage: description\n };\n this.__monkeyecxFormErrors = {\n ...this.__monkeyecxFormErrors,\n [key]: msg\n };\n f.controls[key].setErrors({\n incorrect: true\n });\n }\n });\n });\n }\n\n f.markAllAsTouched();\n }\n\n public goBack() {\n window.history.back();\n }\n\n public goScroll(id: string) {\n const element = document.getElementById(id);\n if (element) element.scrollIntoView();\n }\n\n public getEmbeddedData(data: any, field: string): any[] | any {\n const { _embedded } = data;\n return _embedded ? _embedded[field] : null;\n }\n\n public openWindow(url: string) {\n window.open(`${url}`, '_blank');\n }\n\n public fillI18n(data: any) {\n this.__i18n = data;\n }\n\n public getCountryPrefix(country: string) {\n return {\n br: 55,\n cl: 56\n }[country];\n }\n\n public getCountryCurrencyChartFormat(country: string) {\n return {\n br: 'R$ #,###,##0.00',\n cl: 'CLP #,###,##0'\n }[country];\n }\n\n public getCountryValidators(country: string) {\n return {\n br: {\n governmentId: ValidateUtils.DocumentValidator\n },\n cl: {\n governmentId: ValidateUtils.DocumentRutValidator\n }\n }[country];\n }\n\n public isAbleToHandlePagination() {\n const { __paginationOptions } = this;\n\n if (__paginationOptions) {\n const { service } = __paginationOptions;\n\n const links = service.__links;\n if (links && links?.next) return true;\n }\n return false;\n }\n\n public onHandlePagination() {\n const { __paginationOptions } = this;\n\n if (__paginationOptions) {\n const { service } = __paginationOptions;\n service.doPagination();\n }\n }\n}\n","import { Validators as Validators_ } from '@angular/forms';\nimport { Validators } from 'monkey-front-core';\n\nexport const validators: any = {\n required: Validators_.required,\n email: Validators.email,\n governmentId: Validators.documentBR,\n governmentIdRut: Validators.documentCL,\n documentBR: Validators.documentBR,\n documentCL: Validators.documentCL,\n date: Validators.date,\n zipCode: Validators.zipCode,\n minLength: (param: number) => {\n return Validators_.minLength(param);\n },\n maxLength: (param: number) => {\n return Validators_.maxLength(param);\n }\n};\n","import { Directive, EventEmitter, Input, OnInit, OnChanges, Output } from '@angular/core';\nimport { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MonkeyUtils } from 'monkey-style-guide';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { MECXFieldConfig, MECXFieldConfigValidator } from '../../interfaces';\nimport { BaseComponent } from './base-component';\nimport { validators } from './base-validators';\n\n@Directive({\n selector: '[baseDynamicArray]'\n})\nexport abstract class BaseDynamicArray extends BaseComponent implements OnInit, OnChanges {\n @Input() onHandleSubmit = new EventEmitter<any>();\n\n @Input() onHandleUpdateForm = new EventEmitter<any>();\n\n @Output() onHandleSubmitFormReady: EventEmitter<any> = new EventEmitter<any>();\n\n @Input() self: any;\n\n @Input() fields: MECXFieldConfig[] = [];\n\n @Input() data: any;\n\n @Input() qtd: number = 1;\n\n @Input() disabled: boolean = false;\n\n _form: FormGroup | null = null;\n\n // eslint-disable-next-line object-curly-newline\n _plusValidations: any[] = [];\n\n private changesUnsubscribe = new Subject();\n\n constructor(private fb: FormBuilder) {\n super();\n }\n\n private handleInternalPlusValidation(\n mainField: any,\n data: any\n ) {\n const { operator, field, value } = mainField;\n const validators: any = {\n e: (val1: any, val2: string) => { return val1 === val2; },\n lt: (val1: any, val2: string) => { return val1 < val2; },\n gt: (val1: any, val2: string) => { return val1 > val2; }\n };\n\n return validators[operator](data?.[field] || data, value);\n }\n\n private makeInternalPlusValidation(\n data: any,\n sourceField: string,\n settings: any,\n rowIndex: number\n ) {\n const changeFields = (show: boolean) => {\n const saved = [...this.fields];\n\n saved.map((val) => {\n const valSaved = {\n ...val\n };\n if (val.name === sourceField) {\n this._plusValidations[rowIndex] = {\n [sourceField]: {\n ...valSaved,\n alwaysShow: show\n }\n };\n this.createOneControl(val.name, this.formValues?.controls[rowIndex], show);\n } else {\n this._plusValidations[rowIndex] = {\n ...valSaved\n };\n }\n return null;\n });\n };\n\n const validated = this.handleInternalPlusValidation(settings, data);\n changeFields(validated);\n }\n\n private createOneControl(fieldName: string, ctrl: any, create = true) {\n const { fields } = this;\n if (!fields) return;\n\n fields.forEach((field: MECXFieldConfig) => {\n const { fieldType, validations, name, disabled } = field;\n if (name !== fieldName) return;\n let { value } = field;\n if (fieldType === 'button') return;\n if (fieldType === 'radiobutton' || fieldType === 'checkbox' || fieldType === 'select') {\n value = '';\n }\n if (create) {\n const control = this.fb.control(value, this.bindValidations(validations || []));\n if (disabled || this.disabled) control.disable();\n ctrl.addControl(name, control);\n } else {\n ctrl.removeControl(name);\n }\n });\n }\n\n private createControl(data?: any) {\n const { fields } = this;\n if (!fields) return null;\n // eslint-disable-next-line object-curly-newline\n const group = this.fb.group({});\n fields.forEach((field: MECXFieldConfig) => {\n const { fieldType, validations, name, disabled, alwaysShow } = field;\n let { value } = field;\n if (field.alwaysShowPlusValidation) {\n if (!this.handleInternalPlusValidation(field.alwaysShowPlusValidation, data)) return;\n } else if (!alwaysShow) return;\n if (fieldType === 'button') return;\n if (fieldType === 'radiobutton' || fieldType === 'checkbox' || fieldType === 'select') {\n value = '';\n }\n const control = this.fb.control(value, this.bindValidations(validations || []));\n if (disabled || this.disabled) control.disable();\n group.addControl(name as string, control);\n });\n\n return group;\n }\n\n private bindValidations(validations: MECXFieldConfigValidator[]) {\n if (validations.length > 0) {\n const validList: any[] = [];\n validations.forEach((valid: MECXFieldConfigValidator) => {\n const validated = valid.param\n ? validators[valid.name](valid.param)\n : validators[valid.name];\n validList.push(validated);\n });\n return Validators.compose(validList);\n }\n return null;\n }\n\n private buildForm(): FormGroup {\n const form = this.fb.group({\n fields: this.fb.array([])\n });\n\n form?.controls.fields?.valueChanges.subscribe((_) => {\n this.watchForChanges();\n });\n\n return form;\n }\n\n private watchForChanges() {\n const { fields, changesUnsubscribe } = this;\n changesUnsubscribe.next();\n\n this.formValues?.controls?.map((control: any, index: number) => {\n fields.forEach((fieldConfig: MECXFieldConfig) => {\n const { name, alwaysShowPlusValidation } = fieldConfig;\n if (!alwaysShowPlusValidation) return;\n const { field } = alwaysShowPlusValidation;\n if (field) {\n control.controls[field]?.valueChanges.pipe(\n takeUntil(changesUnsubscribe)).subscribe((_: any) => {\n this.makeInternalPlusValidation(\n _,\n name as string,\n alwaysShowPlusValidation,\n index\n );\n });\n }\n });\n return null;\n });\n }\n\n public formBase = () => {\n // return this.fb.group(this.createControl());\n return this.createControl();\n };\n\n public get formValues() {\n return this._form ? (this._form.get('fields') as FormArray) : null;\n }\n\n public fillValues() {\n const { data, qtd } = this;\n if ((!this._form) && qtd) return;\n if (qtd > 0) {\n Array<any>(qtd)\n .fill(null)\n .map((_, index) => {\n let form = this.createControl();\n if (data && data[index]) {\n form = this.createControl(data[index]);\n const handledData = data[index];\n Object.entries(handledData).forEach(([key, value]) => {\n if (MonkeyUtils.persistNullEmptyUndefined(value) && form?.controls[key]) {\n form?.controls[key].setValue(value);\n }\n });\n }\n this.formValues?.push(form as any);\n\n return null;\n });\n }\n }\n\n ngOnInit() {\n this._form = this.buildForm();\n this.fillValues();\n\n this.onHandleUpdateForm.subscribe(() => {\n this.fillValues();\n });\n }\n\n ngOnChanges() {\n if (!this._form) {\n this._form = this.buildForm();\n }\n this.fillValues();\n }\n}\n","import { Directive, EventEmitter, Input, OnInit, OnChanges, Output } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MonkeyUtils } from 'monkey-style-guide';\nimport { MECXFieldConfig, MECXFieldConfigValidator } from '../../interfaces';\nimport { BaseComponent } from './base-component';\nimport { validators } from './base-validators';\n\n@Directive({\n selector: '[baseDynamic]'\n})\nexport abstract class BaseDynamic extends BaseComponent implements OnInit, OnChanges {\n @Input() onHandleSubmit = new EventEmitter<any>();\n\n @Input() onHandleUpdateForm = new EventEmitter<any>();\n\n @Output() onHandleSubmitFormReady: EventEmitter<any> = new EventEmitter<any>();\n\n @Input() self: any;\n\n @Input() fields: MECXFieldConfig[] = [];\n\n @Input() data: any;\n\n @Input() disabled: boolean = false;\n\n _form: FormGroup | null = null;\n\n constructor(private fb: FormBuilder) {\n super();\n }\n\n private createControl() {\n const { fields } = this;\n if (!fields) return null;\n // eslint-disable-next-line object-curly-newline\n const group = this.fb.group({});\n fields.forEach((field: MECXFieldConfig) => {\n const { fieldType, validations, name, disabled } = field;\n let { value } = field;\n if (fieldType === 'button') return;\n if (fieldType === 'radiobutton' || fieldType === 'checkbox' || fieldType === 'select') {\n value = '';\n }\n const control = this.fb.control(value, this.bindValidations(validations || []));\n if (disabled || this.disabled) control.disable();\n group.addControl(name as string, control);\n });\n return group;\n }\n\n private bindValidations(validations: MECXFieldConfigValidator[]) {\n if (validations.length > 0) {\n const validList: any[] = [];\n validations.forEach((valid: MECXFieldConfigValidator) => {\n const validated = valid.param\n ? validators[valid.name](valid.param)\n : validators[valid.name];\n validList.push(validated);\n });\n return Validators.compose(validList);\n }\n return null;\n }\n\n public fillValues() {\n const { data } = this;\n if (!data || !this._form) return;\n Object.entries(data).forEach(([key, value]) => {\n if (MonkeyUtils.persistNullEmptyUndefined(value) && this._form?.controls[key]) {\n this._form?.controls[key]?.setValue(value);\n }\n });\n }\n\n ngOnInit() {\n this._form = this.createControl();\n this.fillValues();\n\n this.onHandleUpdateForm.subscribe(() => {\n this.fillValues();\n });\n }\n\n ngOnChanges() {\n if (!this._form) {\n this._form = this.createControl();\n }\n this.fillValues();\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { AfterContentChecked, Directive, OnInit } from '@angular/core';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { BaseComponent } from './base-component';\n\n@Directive({\n selector: '[baseScrollComponent]'\n})\nexport abstract class BaseScrollComponent extends BaseComponent\n implements OnInit, AfterContentChecked {\n private routeScrollPositions: { [url: string]: number } = {};\n\n private deferredRestore = false;\n\n constructor(private _pId: Object, private _rt: Router) {\n super();\n }\n\n private saveScroll(url: string) {\n const element: any = document.getElementById('container-3');\n this.routeScrollPositions[url] = element.scrollTop;\n }\n\n private restoreScroll(url: string) {\n const savedScroll = this.routeScrollPositions[url];\n const element: any = document.getElementById('container-3');\n if (!savedScroll) {\n this.deferredRestore = false;\n return false;\n }\n\n element.scrollTop = savedScroll;\n this.deferredRestore = true;\n return true;\n }\n\n private addScrollTopListeners() {\n if ('scrollRestoration' in history) {\n history.scrollRestoration = 'manual';\n }\n\n this._rt.events.subscribe(event => {\n if (event instanceof NavigationStart) {\n this.saveScroll(this._rt.url);\n } else if (event instanceof NavigationEnd) {\n if (!this.restoreScroll(event.url)) {\n setTimeout(() => {\n if (this.deferredRestore) {\n this.restoreScroll(event.url);\n this.deferredRestore = false;\n }\n });\n this.deferredRestore = true;\n }\n }\n });\n }\n\n ngOnInit(): void {\n if (isPlatformBrowser(this._pId)) {\n this.addScrollTopListeners();\n }\n }\n\n ngAfterContentChecked() {\n if (this.deferredRestore) {\n this.restoreScroll(this._rt.url);\n }\n }\n}\n","import { ChangeDetectorRef, Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MECXFieldConfig } from '../../../interfaces';\n\n@Component({\n selector: 'mecx-dynamic-file-upload',\n templateUrl: './file-upload.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicFileUploadComponent {\n @Input() _field: MECXFieldConfig;\n\n @Input() _form: FormGroup;\n\n // eslint-disable-next-line object-curly-newline\n @Input() _formErrors: any | any[] = {};\n\n @Input() self: any;\n\n _function: Function = (file: any, callback?: Function) => {\n if (this._form?.disabled) return;\n if (!this._field?.functions?.onHandleUpload) {\n console.error('onHandleUpload not declared');\n return;\n }\n const { func, type } = this._field?.functions?.onHandleUpload;\n if (!func || !this.self[func]) {\n console.error('onHandleUpload not declared');\n return;\n }\n this.self[func](file, type, callback);\n };\n\n constructor(private cdr: ChangeDetectorRef) {\n // not to do\n }\n\n @HostBinding('class')\n get className() {\n return this._field?.style?.class;\n }\n\n ngOnChanges() {\n this.cdr.detectChanges();\n }\n}\n","<monkey-file-upload\n errorMessage=\"{{ _formErrors[_field?.name]?.firstMessage | translate }} {{ _formErrors[_field?.name]?.lastMessage }}\"\n [icon]=\"_field?.icon\" [formControl]=\"_form.controls[_field?.name]\"\n [placeholder]=\"_field?.placeholder | translate\"\n [helperMessage]=\"_field?.helperMessage | translate\" [label]=\"_field?.label | translate\"\n [maxSize]=\"_field?.maxSize || 5242880\" [fileUpload]=\"_function\"\n [maxSizeErrorMessage]=\"'FIELD.FILE.MAX-FILE' | translate\"\n [allowedExtensionErrorMessage]=\"'FIELD.FILE.ALLOWED-EXTENSION' | translate\"\n [allowedExtensions]=\"_field?.allowedExtensions || []\" *ngIf=\"_field\">\n</monkey-file-upload>","import { ChangeDetectorRef, Component, HostBinding, Input, OnChanges, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MECXFieldConfig } from '../../../interfaces';\n\n@Component({\n selector: 'mecx-dynamic-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicButtonComponent implements OnChanges {\n @Input() _field: MECXFieldConfig | null = null;\n\n @Input() _form: FormGroup | null = null;\n\n // eslint-disable-next-line object-curly-newline\n @Input() _formErrors: any | any[] = {};\n\n @Input() self: any;\n\n constructor(private cdr: ChangeDetectorRef) {\n // not to do\n }\n\n @HostBinding('class')\n get className() {\n return this._field?.style?.class;\n }\n\n ngOnChanges() {\n this.cdr.detectChanges();\n }\n\n onClick() {\n const { _form, _field, self } = this;\n if (_form?.disabled || !_field) return;\n const { name, value } = _field;\n const func = _field?.functions?.onClick;\n if (func) {\n self[func]({\n name,\n value,\n form: _form\n });\n }\n }\n}\n","<monkey-button [icon]=\"_field?.icon\" [type]=\"_field?.type\" [color]=\"_field?.color\"\n (click)=\"onClick()\">\n {{ _field?.label | translate }}\n</monkey-button>","import { ChangeDetectorRef, Component, HostBinding, Input, OnChanges, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MonkeyInputComponent } from 'monkey-style-guide';\nimport { MECXFieldConfig } from '../../../interfaces';\n\n@Component({\n selector: 'mecx-dynamic-input',\n templateUrl: './input.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicInputComponent implements OnInit, OnChanges {\n @Input() _field: MECXFieldConfig | null = null;\n\n @Input() _form: FormGroup | null = null;\n\n // eslint-disable-next-line object-curly-newline\n @Input() _formErrors: any | any[] = {};\n\n @Input() self: any;\n\n @ViewChild('inputElement', {\n static: true\n }) inputElement: MonkeyInputComponent | null = null;\n\n constructor(private cdr: ChangeDetectorRef) {\n // not to do\n }\n\n @HostBinding('class')\n get className() {\n return this._field?.style?.class;\n }\n\n ngOnInit() {\n this.cdr.detectChanges();\n }\n\n ngOnChanges() {\n this.cdr.detectChanges();\n }\n\n onChange(event: string) {\n const { _form, _field, self } = this;\n if (!_field || !_form) return;\n const { name } = _field;\n const func = _field?.functions?.onChange;\n const isValid = _form?.get(_field?.name as string)?.valid;\n if (func) {\n self[func]({\n name,\n isValid,\n event,\n ctrl: _form.get(this._field?.name as string),\n form: _form\n });\n }\n }\n}\n","<monkey-input\r\n errorMessage=\"{{ _formErrors[_field?.name]?.firstMessage | translate }} {{ _formErrors[_field?.name]?.lastMessage }}\"\r\n [mask]=\"_field?.mask\" [prefix]=\"_field?.prefix\" [name]=\"_field?.name\"\r\n [formControl]=\"_form.controls[_field?.name]\" [placeholder]=\"_field?.placeholder | translate\"\r\n [helperMessage]=\"_field?.helperMessage | translate\" [label]=\"_field?.label | translate\"\r\n [type]=\"_field?.type\" #inputElement (onChange)=\"onChange($event)\"\r\n [onlyNumber]=\"_field?.onlyNumber\" [currency]=\"_field?.currency\" [maxLength]=\"_field?.maxLength\"\r\n [maxDateToday]=\"_field?.maxDateToday\">\r\n</monkey-input>","import { ChangeDetectorRef, Component, HostBinding, Input, OnChanges, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MonkeyInputComponent } from 'monkey-style-guide';\nimport { MECXFieldConfig } from '../../../interfaces';\n\n@Component({\n selector: 'mecx-dynamic-input-phone',\n templateUrl: './input-phone.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicInputPhoneComponent implements OnInit, OnChanges {\n @Input() _field: MECXFieldConfig | null = null;\n\n @Input() _form: FormGroup | null = null;\n\n // eslint-disable-next-line object-curly-newline\n @Input() _formErrors: any | any[] = {};\n\n @Input() self: any;\n\n @ViewChild('inputElement', {\n static: true\n }) inputElement: MonkeyInputComponent | null = null;\n\n constructor(private cdr: ChangeDetectorRef) {\n // not to do\n }\n\n @HostBinding('class')\n get className() {\n return this._field?.style?.class;\n }\n\n ngOnInit() {\n this.cdr.detectChanges();\n }\n\n ngOnChanges() {\n this.cdr.detectChanges();\n }\n\n onChange(event: string) {\n const { _form, _field, self } = this;\n if (!_field || !_form) return;\n const { name } = _field;\n const func = _field?.functions?.onChange;\n const isValid = _form?.get(_field?.name as string)?.valid;\n if (func) {\n self[func]({\n name,\n isValid,\n event,\n ctrl: _form.get(this._field?.name as string),\n form: _form\n });\n }\n }\n}\n","<monkey-input-phone [name]=\"_field?.name\" [label]=\"_field?.label | translate\"\r\n [helperMessage]=\"_field?.helperMessage | translate\"\r\n [placeholder]=\"_field?.placeholder | translate\" [icon]=\"_field?.icon\"\r\n (onChange)=\"onChange($event)\" [internationalNumber]=\"_field?.internationalNumber\"\r\n errorMessage=\"{{ _formErrors[_field?.name]?.firstMessage | translate }} {{ _formErrors[_field?.name]?.lastMessage }}\"\r\n [maxLength]=\"_field?.maxLength\" [formControl]=\"_form.controls[_field?.name]\" #inputElement>\r\n</monkey-input-phone>","import { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MECXFieldConfig } from '../../../interfaces';\n\n@Component({\n selector: 'mecx-dynamic-radio',\n templateUrl: './radio.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicRadioComponent {\n @Input() _field: MECXFieldConfig | null = null;\n\n @Input() _form: FormGroup | null = null;\n\n // eslint-disable-next-line object-curly-newline\n @Input() _formErrors: any | any[] = {};\n\n @HostBinding('class')\n get className() {\n return this._field?.style?.class;\n }\n}\n","<monkey-radiobutton\n errorMessage=\"{{ _formErrors[_field?.name]?.firstMessage | translate }} {{ _formErrors[_field?.name]?.lastMessage }}\"\n [formControl]=\"_form.controls[_field?.name]\" [helperMessage]=\"_field?.helperMessage | translate\"\n [label]=\"_field?.label | translate\">\n <monkey-option *ngFor=\"let value of _field?.value\" [label]=\"value.description | translate\"\n [value]=\"value.value\">\n </monkey-option>\n</monkey-radiobutton>","import {\n Component,\n HostBinding,\n Input,\n EventEmitter,\n ViewEncapsulation\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MECXFieldConfig, MECXFieldConfigValue } from '../../../interfaces';\n\n@Component({\n selector: 'mecx-dynamic-select',\n templateUrl: './select.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicSelectComponent {\n @Input() _field: MECXFieldConfig | null = null;\n\n @Input() _form: FormGroup | null = null;\n\n // eslint-disable-next-line object-curly-newline\n @Input() _formErrors: any | any[] = {};\n\n @Input() self: any;\n\n @HostBinding('class')\n get className() {\n return this._field?.style?.class;\n }\n\n _onHandleOptions = new EventEmitter<any>();\n\n onHandleGenericLoad() {\n const { _form, _field, self } = this;\n if (_form?.disabled || !_field || !_field?.functions?.onHandleGenericLoad) return;\n const { name } = _field;\n if ((_field?.value as MECXFieldConfigValue[])?.length) return;\n const { func, url } = _field?.functions?.onHandleGenericLoad;\n if (!func || !self[func]) {\n console.error('onHandleGenericLoad not declared');\n return;\n }\n _form?.disable();\n self[func]({\n name,\n url,\n form: _form,\n callback: (data: any[]) => {\n if (this._field) {\n this._field.value = data;\n }\n this._form?.enable();\n this._onHandleOptions.next(null);\n }\n });\n }\n\n onChange(event: string) {\n const { _form, _field, self } = this;\n if (!_field || !_form) return;\n const { name } = _field;\n const func = _field?.functions?.onChange;\n const isValid = _form?.get(_field.name as string)?.valid;\n if (func) {\n self[func]({\n name,\n isValid,\n event,\n ctrl: _form?.get(this._field?.name as string),\n form: _form,\n value: _field.value\n });\n }\n }\n}\n","<monkey-select\n errorMessage=\"{{ _formErrors[_field?.name]?.firstMessage | translate }} {{ _formErrors[_field?.name]?.lastMessage }}\"\n [formControl]=\"_form.controls[_field?.name]\" [helperMessage]=\"_field?.helperMessage | translate\"\n [label]=\"_field?.label | translate\" (click)=\"onHandleGenericLoad()\"\n [onHandleOptions]=\"_onHandleOptions\" (onChange)=\"onChange($event)\"\n [labelSelect]=\"_form.get(_field?.name).value || ('FIELD.SELECT' | translate)\"\n [placeholder]=\"_field?.placeholder | translate\">\n <monkey-option [label]=\"'FIELD.LOADING' | translate\" *ngIf=\"!_field?.value?.length\"\n enableClick=\"false\">\n </monkey-option>\n <monkey-option *ngFor=\"let value of _field?.value\" [label]=\"value.description | translate\"\n [value]=\"value.value\">\n </monkey-option>\n</monkey-select>","import {\n Component,\n HostBinding,\n Input,\n EventEmitter,\n ViewEncapsulation\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MECXFieldConfig, MECXFieldConfigValue } from '../../../interfaces';\n\n@Component({\n selector: 'mecx-dynamic-select-search',\n templateUrl: './select-search.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicSelectSearchComponent {\n @Input() _field: MECXFieldConfig | null = null;\n\n @Input() _form: FormGroup | null = null;\n\n // eslint-disable-next-line object-curly-newline\n @Input() _formErrors: any | any[] = {};\n\n @Input() self: any;\n\n @HostBinding('class')\n get className() {\n return this._field?.style?.class;\n }\n\n _onHandleOptions = new EventEmitter<any>();\n\n onHandleGenericLoad() {\n const { _form, _field, self } = this;\n if (_form?.disabled || !_field || !_field?.functions?.onHandleGenericLoad) return;\n const { name } = _field;\n if ((_field?.value as MECXFieldConfigValue[])?.length) return;\n const { func, url } = _field?.functions?.onHandleGenericLoad;\n if (!func || !self[func]) {\n console.error('onHandleGenericLoad not declared');\n return;\n }\n _form?.disable();\n self[func]({\n name,\n url,\n form: _form,\n callback: (data: any[]) => {\n if (this._field) {\n this._field.value = data;\n }\n this._form?.enable();\n this._onHandleOptions.next(null);\n }\n });\n }\n\n onChange(event: string) {\n const { _form, _field, self } = this;\n if (!_field || !_form) return;\n const { name } = _field;\n const func = _field?.functions?.onChange;\n const isValid = _form?.get(_field?.name as string)?.valid;\n if (func) {\n self[func]({\n name,\n isValid,\n event,\n ctrl: _form.get(this._field?.name as string),\n form: _form,\n value: _field.value\n });\n }\n }\n}\n","<monkey-select-search\n errorMessage=\"{{ _formErrors[_field?.name]?.firstMessage | translate }} {{ _formErrors[_field?.name]?.lastMessage }}\"\n [formControl]=\"_form.controls[_field?.name]\" [helperMessage]=\"_field?.helperMessage | translate\"\n [label]=\"_field?.label | translate\" (click)=\"onHandleGenericLoad()\"\n [onHandleOptions]=\"_onHandleOptions\" (onChange)=\"onChange($event)\"\n [fieldToCompare]=\"_field?.fieldToCompare\"\n [labelSelect]=\"_form.get(_field?.name).value || ('FIELD.SELECT' | translate)\"\n [placeholder]=\"_field?.placeholder | translate\">\n <monkey-option [label]=\"'FIELD.LOADING' | translate\" *ngIf=\"!_field?.value?.length\"\n enableClick=\"false\">\n </monkey-option>\n <monkey-option *ngFor=\"let value of _field?.value\" [label]=\"value.description | translate\"\n [value]=\"value.value\">\n </monkey-option>\n</monkey-select-search>","import {\n ChangeDetectorRef,\n ComponentFactoryResolver,\n Directive,\n Input,\n OnChanges,\n OnInit,\n ViewContainerRef\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MECXFieldConfig } from '../../interfaces';\nimport { MECXDynamicButtonComponent } from './button';\nimport { MECXDynamicFileUploadComponent } from './file-upload';\nimport { MECXDynamicInputComponent } from './input';\nimport { MECXDynamicInputPhoneComponent } from './input-phone';\nimport { MECXDynamicRadioComponent } from './radio';\nimport { MECXDynamicSelectComponent } from './select';\nimport { MECXDynamicSelectSearchComponent } from './select-search';\n\nconst componentMapper: any = {\n input: MECXDynamicInputComponent,\n 'input-phone': MECXDynamicInputPhoneComponent,\n radiobutton: MECXDynamicRadioComponent,\n select: MECXDynamicSelectComponent,\n 'select-search': MECXDynamicSelectSearchComponent,\n 'file-upload': MECXDynamicFileUploadComponent,\n button: MECXDynamicButtonComponent\n};\n\n@Directive({\n selector: '[MECXDynamic]'\n})\nexport class MECXDynamicDirective implements OnInit, OnChanges {\n @Input() field: MECXFieldConfig | null = null;\n\n @Input() form: FormGroup | null = null;\n\n @Input() formErrors: any;\n\n @Input() self: any;\n\n @Input() plusValidations: any;\n\n componentRef: any;\n\n constructor(private resolver: ComponentFactoryResolver, private container: ViewContainerRef,\n private cdr: ChangeDetectorRef) {\n // not to do\n }\n\n private handleInternalPlusValidation() {\n if (!this.field?.alwaysShowPlusValidation) return false;\n const { operator, value, field } = this.field?.alwaysShowPlusValidation;\n const validators: any = {\n e: (val1: any, val2: string) => { return val1 === val2; },\n lt: (val1: any, val2: string) => { return val1 < val2; },\n gt: (val1: any, val2: string) => { return val1 > val2; }\n };\n const data = this.form?.controls[field as string]?.value;\n\n return validators[operator as string](data, value);\n }\n\n private buildComponent() {\n if (this.componentRef?.instance) return;\n const factory = this.resolver.resolveComponentFactory(\n componentMapper[this.field?.fieldType as string]\n );\n this.componentRef = this.container.createComponent(factory);\n this.componentRef.instance._field = this.field;\n this.componentRef.instance._form = this.form;\n // eslint-disable-next-line object-curly-newline\n this.componentRef.instance._formErrors = this.formErrors || {};\n this.componentRef.instance.self = this.self;\n }\n\n ngOnInit() {\n if (!this.field?.alwaysShow && !this.handleInternalPlusValidation()) return;\n this.buildComponent();\n }\n\n ngOnChanges() {\n if (this.plusValidations && this.plusValidations[this.field?.name as string]) {\n if (!this.field?.alwaysShow && this.plusValidations[this.field?.name as string].alwaysShow) {\n setTimeout(() => {\n this.buildComponent();\n this.cdr.detectChanges();\n }, 1);\n }\n if (this.componentRef?.instance &&\n !this.plusValidations[this.field?.name as string].alwaysShow) {\n this.componentRef.destroy();\n this.componentRef = null;\n this.form?.controls[this.field?.name as string]?.setValue(null);\n this.form?.controls[this.field?.name as string]?.clearValidators();\n }\n }\n if (!this.componentRef?.instance) return;\n this.componentRef.instance._formErrors = this.formErrors || {\n };\n }\n}\n","import { Component, OnInit, ViewEncapsulation, OnDestroy, ChangeDetectorRef } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { BaseDynamic } from '../../base/base-dynamic';\n\n@Component({\n selector: 'mecx-dynamic-form',\n templateUrl: './dynamic-form.component.html',\n styles: [],\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicFormComponent extends BaseDynamic implements OnInit, OnDestroy {\n private unsubscribeAll = new Subject();\n\n constructor(fb: FormBuilder, private cdr: ChangeDetectorRef) {\n super(fb);\n }\n\n ngOnInit() {\n super.ngOnInit();\n\n this.onHandleSubmit.pipe(takeUntil(this.unsubscribeAll)).subscribe((func: Function) => {\n this.onSubmit(func);\n });\n }\n\n ngOnDestroy() {\n this.unsubscribeAll.next();\n this.unsubscribeAll.complete();\n }\n\n onSubmit(callback: Function) {\n const { _form } = this;\n // eslint-disable-next-line object-curly-newline\n this.__monkeyecxFormErrors = {};\n\n const isValid = this.validateForm(_form as any);\n this.cdr.detectChanges();\n\n this.onHandleSubmitFormReady.next({\n validate: {\n isValid\n },\n callback,\n form: _form\n });\n }\n}\n","<form name=\"form\" [formGroup]=\"_form\" *ngIf=\"_form\">\n <div class=\"row\">\n <div *ngFor=\"let field of fields;\" MECXDynamic [field]=\"field\" [form]=\"_form\" [self]=\"self\"\n [formErrors]=\"__monkeyecxFormErrors\" [style.display]=\"'none'\">\n </div>\n </div>\n</form>","import { Component, OnInit, ViewEncapsulation, OnDestroy, ChangeDetectorRef } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { BaseDynamicArray } from '../../base';\n\n@Component({\n selector: 'mecx-dynamic-form-array',\n templateUrl: './dynamic-form-array.component.html',\n styleUrls: ['./dynamic-form-array.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXDynamicFormArrayComponent extends BaseDynamicArray implements OnInit, OnDestroy {\n private unsubscribeAll = new Subject();\n\n constructor(fb: FormBuilder, private cdr: ChangeDetectorRef) {\n super(fb);\n this.__monkeyecxFormErrors = [];\n }\n\n ngOnInit() {\n super.ngOnInit();\n\n this.onHandleSubmit.pipe(takeUntil(this.unsubscribeAll)).subscribe((func: Function) => {\n this.onSubmit(func);\n });\n }\n\n ngOnDestroy() {\n this.unsubscribeAll.next();\n this.unsubscribeAll.complete();\n }\n\n onSubmit(callback: Function) {\n const { _form } = this;\n // eslint-disable-next-line object-curly-newline\n this.__monkeyecxFormErrors = [];\n\n let validate = {\n isValid: false\n };\n let hasErrors: boolean = false;\n if (this.formValues) {\n this.__monkeyecxFormErrors = [this.formValues.length];\n this.formValues.controls.forEach((item: any, index: number) => {\n if (item instanceof FormGroup) {\n if (!this.validateForm(item, index)) {\n hasErrors = true;\n }\n }\n });\n }\n validate = {\n isValid: !hasErrors\n };\n\n this.cdr.detectChanges();\n\n this.onHandleSubmitFormReady.next({\n validate,\n callback,\n form: _form\n });\n }\n\n onHandleAdd() {\n this.formValues?.push(this.formBase() as any);\n this.cdr.detectChanges();\n }\n\n onHandleRemove(index: number) {\n this.formValues?.removeAt(index);\n this._plusValidations.splice(index, 1);\n }\n}\n","<form name=\"form\" [formGroup]=\"_form\" *ngIf=\"_form\">\n <div formArrayName=\"fields\">\n <div *ngFor=\"let item of formValues.controls; let indForm=index\" [formGroupName]=\"indForm\">\n <monkey-button type=\"secondary\" color=\"error\" icon=\"close-20\" iconPosition=\"right\"\n [label]=\"'BUTTONS.REMOVE' | translate\" (click)=\"onHandleRemove(indForm)\"\n *ngIf=\"formValues.controls.length > 1 && !disabled\">\n </monkey-button>\n <div class=\"row mt-3\">\n <div *ngFor=\"let field of fields;\" MECXDynamic [field]=\"field\" [form]=\"item\" [self]=\"self\"\n [formErrors]=\"__monkeyecxFormErrors[indForm]\"\n [plusValidations]=\"_plusValidations[indForm]\" [style.display]=\"'none'\">\n </div>\n </div>\n </div>\n </div>\n</form>\n<monkey-button type=\"secondary\" color=\"theme\" icon=\"more-20\" iconPosition=\"right\"\n [label]=\"'BUTTONS.ADD' | translate\" (click)=\"onHandleAdd()\" *ngIf=\"!disabled\">\n</monkey-button>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {\n MonkeyButtonModule,\n MonkeyFileUploadModule,\n MonkeyInputModule,\n MonkeyInputPhoneModule,\n MonkeyOptionModule,\n MonkeyRadioButtonModule,\n MonkeySelectModule\n} from 'monkey-style-guide';\nimport { MECXDynamicButtonComponent } from './button';\nimport { MECXDynamicDirective } from './dynamic-directive';\nimport { MECXDynamicFileUploadComponent } from './file-upload';\nimport { MECXDynamicFormComponent, MECXDynamicFormArrayComponent } from './form';\nimport { MECXDynamicInputComponent } from './input';\nimport { MECXDynamicInputPhoneComponent } from './input-phone';\nimport { MECXDynamicRadioComponent } from './radio';\nimport { MECXDynamicSelectComponent } from './select';\nimport { MECXDynamicSelectSearchComponent } from './select-search';\n\n@NgModule({\n declarations: [\n MECXDynamicButtonComponent,\n MECXDynamicFileUploadComponent,\n MECXDynamicFormComponent,\n MECXDynamicFormArrayComponent,\n MECXDynamicInputComponent,\n MECXDynamicInputPhoneComponent,\n MECXDynamicRadioComponent,\n MECXDynamicSelectComponent,\n MECXDynamicSelectSearchComponent,\n MECXDynamicDirective\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MonkeyInputModule,\n MonkeySelectModule,\n MonkeyRadioButtonModule,\n MonkeyOptionModule,\n MonkeyFileUploadModule,\n MonkeyButtonModule,\n MonkeyInputPhoneModule,\n TranslateModule.forChild()\n ],\n exports: [MECXDynamicDirective, MECXDynamicFormComponent, MECXDynamicFormArrayComponent],\n entryComponents: [MECXDynamicInputComponent]\n})\nexport class MECXDynamicModule {}\n","import { Component, Input, OnChanges, ViewEncapsulation, Output, EventEmitter } from '@angular/core';\nimport { MonkeyEcxConfig, MonkeyEcxConfigService, MonkeyEcxUtils } from 'monkey-front-core';\nimport { PasswordStrength } from './password-strength';\n\n@Component({\n selector: 'mecx-password-strength',\n templateUrl: './password-strength.component.html',\n styleUrls: ['./password-strength.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXPasswordStrengthComponent implements OnChanges {\n @Input() passwordToCheck: string | null = null;\n\n @Output() onHandleSubmitReady = new EventEmitter<any>();\n\n _validatorsPasswordPass: Array<PasswordStrength> = [];\n\n _stepPassword = 0;\n\n private validatorsPassword = new Map();\n\n constructor(private configService: MonkeyEcxConfigService) {\n // not do\n }\n\n private handleColor(score: number) {\n let idx = 0;\n if (score > 50) idx = 1;\n if (score === 100) idx = 2;\n this._stepPassword = idx;\n }\n\n private passwordStrengthValidator(pass : string) {\n this._validatorsPasswordPass = [];\n let score = 0;\n\n this.validatorsPassword.forEach((key, value) => {\n this._validatorsPasswordPass.push({\n regex: `${value}`,\n validate: `${key.VALIDATE}` === String(RegExp(`${key.REGEX}`).test(pass)),\n percent: 100 / this.validatorsPassword.size\n });\n });\n\n this._validatorsPasswordPass.forEach((check) => {\n if (check.validate) {\n score += check.percent;\n }\n });\n\n return Math.trunc(score);\n }\n\n private onHandleReady() {\n const validate = this._validatorsPasswordPass?.find(({ validate }) => { return !validate; });\n this.onHandleSubmitReady.next(!validate);\n }\n\n private onHandleChages() {\n const password = this.passwordToCheck;\n this.handleColor(this.passwordStrengthValidator(password as string));\n this.onHandleReady();\n }\n\n private onHandlePasswordStrengthKeys(params: MonkeyEcxConfig) {\n const ps = params?.program?.screens?.login?.passwordStrength;\n if (ps) {\n Object.entries(ps)\n .forEach(([key, value]) => {\n if (MonkeyEcxUtils.persistNullEmptyUndefined(value)) {\n this.validatorsPassword.set(key, value);\n }\n });\n this.onHandleChages();\n }\n }\n\n ngOnInit() {\n this.configService.config().subscribe((_: MonkeyEcxConfig) => {\n this.onHandlePasswordStrengthKeys(_);\n });\n }\n\n ngOnChanges(): void {\n this.onHandleChages();\n }\n}\n","<ng-container *ngIf=\"_validatorsPasswordPass?.length\">\n <div id=\"strength\" class=\"d-flex full-width flex-column justify-content-center align-items-center\"\n #strength>\n <div id=\"strengthBar\" class=\"strength-bar d-flex full-width flex-row\">\n <div class=\"d-flex full-width align-items-center\">\n <div class=\"bar-label\">\n <small>{{ 'SCREENS.LOGIN.REGISTER.PASSWORD-STRENGTH.TITLE' | translate }}</small>\n </div>\n </div>\n <div class=\"d-flex full-width align-items-center flex-column\">\n <div class=\"point\" [class.error]=\"_stepPassword === 0\" [class.warning]=\"_stepPassword === 1\"\n [class.success]=\"_stepPassword === 2\">\n </div>\n <ng-container *ngIf=\"_stepPassword === 0\">\n <ng-container *ngTemplateOutlet=\"stepPasswordLabel\"></ng-container>\n </ng-container>\n </div>\n <div class=\"d-flex full-width align-items-center flex-column\">\n <div class=\"point\" [class.warning]=\"_stepPassword === 1\"\n [class.success]=\"_stepPassword === 2\"></div>\n <ng-container *ngIf=\"_stepPassword === 1\">\n <ng-container *ngTemplateOutlet=\"stepPasswordLabel\"></ng-container>\n </ng-container>\n </div>\n <div class=\"d-flex full-width align-items-center flex-column\">\n <div class=\"point\" [class.success]=\"_stepPassword === 2\"></div>\n <ng-container *ngIf=\"_stepPassword === 2\">\n <ng-container *ngTemplateOutlet=\"stepPasswordLabel\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"callbacks mt-2 row\">\n <div class=\"col-sm-6 mt-2 d-flex justify-content-start\"\n *ngFor=\"let validators of _validatorsPasswordPass\">\n <monkey-icon *ngIf=\"validators.validate\" icon=\"check-circle-20\"></monkey-icon>\n <monkey-icon *ngIf=\"!validators.validate\" icon=\"error-20\"></monkey-icon>\n <span class=\"ml-2\">\n {{ 'SCREENS.LOGIN.REGISTER.PASSWORD-STRENGTH.TYPES.' + validators.regex | translate }}\n </span>\n </div>\n </div>\n</ng-container>\n<ng-template #stepPasswordLabel>\n <div class=\"name-point mt-1\" [class.error]=\"_stepPassword === 0\"\n [class.warning]=\"_stepPassword === 1\" [class.success]=\"_stepPassword === 2\">\n {{ 'SCREENS.LOGIN.REGISTER.PASSWORD-STRENGTH.LABELS.' + _stepPassword | translate }}\n </div>\n</ng-template>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MonkeyEcxDirectivesModule, MonkeyEcxPipesModule } from 'monkey-front-core';\nimport { MonkeyButtonModule, MonkeyInputModule, MonkeyIconModule } from 'monkey-style-guide';\nimport { MECXPasswordStrengthComponent } from './password-strength.component';\n\n@NgModule({\n declarations: [MECXPasswordStrengthComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MonkeyEcxPipesModule,\n MonkeyEcxDirectivesModule,\n MonkeyButtonModule,\n MonkeyInputModule,\n MonkeyIconModule,\n TranslateModule.forChild()\n ],\n exports: [MECXPasswordStrengthComponent]\n})\nexport class MECXPasswordStrengthModule {}\n","import { Injectable } from '@angular/core';\nimport {\n NavigationCancel,\n NavigationEnd,\n NavigationError,\n NavigationStart,\n Router\n} from '@angular/router';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MECXProgressBarService {\n private visible: BehaviorSubject<any> = new BehaviorSubject(false);\n\n constructor(private router: Router) {\n this.init();\n }\n\n private init() {\n this.router.events\n .pipe(\n filter((event: any) => {\n return event instanceof NavigationStart;\n })\n )\n .subscribe(() => {\n this.show();\n });\n\n this.router.events\n .pipe(\n filter((event: any) => {\n return (\n event instanceof NavigationEnd ||\n event instanceof NavigationError ||\n event instanceof NavigationCancel\n );\n })\n )\n .subscribe(() => {\n this.hide();\n });\n }\n\n show() {\n this.visible.next(true);\n }\n\n hide() {\n this.visible.next(false);\n }\n\n visibleConfig(): Observable<any> {\n return this.visible.asObservable();\n }\n}\n","import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { BaseComponent } from '../../base/base-component';\nimport { MECXProgressBarService } from './progress-bar.service';\n\n@Component({\n selector: 'mecx-progress-bar',\n templateUrl: './progress-bar.component.html',\n styleUrls: ['./progress-bar.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class MECXProgressBarComponent extends BaseComponent implements OnInit, OnDestroy {\n visible: boolean = false;\n\n constructor(private progressBarService: MECXProgressBarService) {\n super();\n }\n\n ngOnInit() {\n this.progressBarService\n .visibleConfig()\n .pipe(takeUntil(this.__unsubscribeAll))\n .subscribe((visible: boolean) => {\n this.visible = visible;\n });\n }\n}\n","<ng-container *ngIf=\"visible\">\n <progress class=\"monkey-progress monkey-progress__theme\"></progress>\n</ng-container>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MECXProgressBarComponent } from './progress-bar.component';\n\n@NgModule({\n declarations: [MECXProgressBarComponent],\n imports: [CommonModule],\n exports: [MECXProgressBarComponent]\n})\nexport class MECXProgressBarModule {}\n","/*\n * Public API Surface of monkey-front-components\n */\n\nexport * from './lib/components';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Validators_","Validators"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "monkey-front-components",
3
- "version": "0.0.277",
3
+ "version": "0.0.278",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.1.1",
6
6
  "@angular/core": "^13.1.1",
Binary file