Socket
Socket
Sign inDemoInstall

b4-tools

Package Overview
Dependencies
12
Maintainers
2
Versions
77
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.0.27 to 0.0.28

b4-tools-0.0.28.tgz

2

b4-tools.metadata.json

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":4,"metadata":{"B4ToolsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":12,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"TagInputComponent"},{"__symbolic":"reference","name":"FilterDirective"},{"__symbolic":"reference","name":"HeaderFilterDirective"},{"__symbolic":"reference","name":"TextFilterComponent"},{"__symbolic":"reference","name":"OptionsFilterComponent"},{"__symbolic":"reference","name":"MessageViewComponent"},{"__symbolic":"reference","name":"SpinnerComponent"},{"__symbolic":"reference","name":"BaseTranslatorComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":24,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbModule","line":25,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":26,"character":4}],"exports":[{"__symbolic":"reference","name":"TagInputComponent"},{"__symbolic":"reference","name":"FilterDirective"},{"__symbolic":"reference","name":"HeaderFilterDirective"},{"__symbolic":"reference","name":"MessageViewComponent"},{"__symbolic":"reference","name":"SpinnerComponent"},{"__symbolic":"reference","name":"BaseTranslatorComponent"}],"providers":[{"__symbolic":"reference","name":"TranslatorService"}],"entryComponents":[{"__symbolic":"reference","name":"TextFilterComponent"},{"__symbolic":"reference","name":"OptionsFilterComponent"}]}]}],"members":{}},"OptionsFilterComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"app-options-filter","template":"<div class=\"input-group input-group-sm\">\r\n <select class=\"form-control\" [(ngModel)]=\"value\">\r\n <option i18n=\"@@b4ToolsOptionsFilter\" *ngFor=\"let option of options\" [ngValue]=\"option.value\">{option.key, select, key{key}}</option>\r\n </select>\r\n</div>\r\n","styles":[""]}]}],"members":{"getFilter":[{"__symbolic":"method"}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"TextFilterComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"app-text-filter","template":"<div class=\"input-group input-group-sm\">\r\n <input class=\"form-control\" [(ngModel)]=\"text\" (keyup.enter)=\"onFilter()\" />\r\n <div class=\"input-group-append\">\r\n <button class=\"btn btn-secondary btn-filter\" (click)=\"onFilter()\">\r\n <img height=\"16\"\r\n src=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB3aWR0aD0iMTc5MiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTU5NSAyOTVxMTcgNDEtMTQgNzBsLTQ5MyA0OTN2NzQycTAgNDItMzkgNTktMTMgNS0yNSA1LTI3IDAtNDUtMTlsLTI1Ni0yNTZxLTE5LTE5LTE5LTQ1di00ODZsLTQ5My00OTNxLTMxLTI5LTE0LTcwIDE3LTM5IDU5LTM5aDEyODBxNDIgMCA1OSAzOXoiLz48L3N2Zz4=\" />\r\n </button>\r\n </div>\r\n</div>\r\n","styles":[".btn-filter{padding-top:unset!important;padding-bottom:unset!important;background-color:transparent!important;border-color:#f7f7f7!important}"]}]}],"members":{"getFilter":[{"__symbolic":"method"}],"__ctor__":[{"__symbolic":"constructor"}],"onFilter":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}]}},"HeaderFilterDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[b4-header-filter]"}]}],"members":{"field":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3},"arguments":["b4-header-filter"]}]}],"operator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3},"arguments":["b4-filter-operator"]}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3},"arguments":["b4-filter-options"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":18,"character":38},{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":19,"character":30}]}],"ngOnInit":[{"__symbolic":"method"}],"createComponent":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"FilterDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":49,"character":1},"arguments":[{"selector":"[b4-filter]","queries":{"contentChildren":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":52,"character":25},"arguments":[{"__symbolic":"reference","name":"HeaderFilterDirective"}]}}}]}],"members":{"filterChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":59,"character":3},"arguments":["b4-filter"]}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngAfterContentInit":[{"__symbolic":"method"}],"onFilterChanged":[{"__symbolic":"method"}]}},"MessageService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1}}],"members":{"listen":[{"__symbolic":"method"}],"filter":[{"__symbolic":"method"}]}},"EventMessage":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"any"}]}],"getClass":[{"__symbolic":"method"}]},"statics":{"Error":"error","Info":"info","Warning":"warn"}},"IEventMessageOptions":{"__symbolic":"interface"},"MessageViewComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"b4-message-view","template":"<div *ngFor=\"let message of messages\">\n <div [class]=\"message.containerClass\">\n <button type=\"button\" class=\"close\" *ngIf=\"message.isClosable\" (click)=\"remove(message)\">&times;</button>\n <ng-container *ngTemplateOutlet=\"msg; context: { $implicit: message }\"></ng-container>\n </div>\n</div>"}]}],"members":{"msg":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":18,"character":3},"arguments":["msg",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"MessageService"}]}],"ngOnInit":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}]}},"IFilterComponent":{"__symbolic":"interface"},"FilterOption":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"boolean"}]}]}},"GridFacade":{"__symbolic":"class","members":{"filterChanged":[{"__symbolic":"method"}],"nextPage":[{"__symbolic":"method"}],"sort":[{"__symbolic":"method"}],"loadPage":[{"__symbolic":"method"}]}},"ITagService":{"__symbolic":"interface"},"PagedResult":{"__symbolic":"class","arity":1,"members":{}},"Tag":{"__symbolic":"class","members":{}},"TagInputComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"b4-tag-input","template":"<ng-template #rt let-r=\"result\" let-t=\"term\">\r\n <div>{{ r.value }}</div>\r\n</ng-template>\r\n\r\n<div class=\"form-control-lg w-100 pb-0\"\r\n [class.border-0]=\"(!tags || tags.length == 0) && (input.value == '')\"\r\n style=\"height: auto; min-height: 40px; padding-top: 7px; padding-bottom: 3px !important;\"\r\n (click)=\"input.focus()\">\r\n <div *ngFor=\"let t of beforeTags\"\r\n class=\"badge mr-1 mb-1 font-weight-normal\"\r\n [class.badge-info]=\"t.id\"\r\n [class.badge-danger]=\"!t.id\"\r\n style=\"font-size: 100%; padding: 3px;\">\r\n {{ t.value }}\r\n <button type=\"button\" class=\"close ml-2\" style=\"font-size: 0.9rem;\" (click)=\"removeBefore(t)\">\r\n <span class=\"text-light font-weight-normal\">&times;</span>\r\n </button>\r\n </div>\r\n <input type=\"text\" [ngClass]=\"inputClass\" [(ngModel)]=\"word\" [size]=\"size\"\r\n #input\r\n [ngbTypeahead]=\"search\" [resultTemplate]=\"rt\"\r\n (selectItem)=\"selectedItem($event)\" (keydown)=\"key($event)\" />\r\n <div *ngFor=\"let t of afterTags\"\r\n class=\"badge mr-1 mb-1 font-weight-normal\"\r\n [class.badge-info]=\"t.id\"\r\n [class.badge-danger]=\"!t.id\"\r\n style=\"font-size: 100%; padding: 3px;\">\r\n {{ t.value }}\r\n <button type=\"button\" class=\"close ml-2\" style=\"font-size: 0.9rem;\" (click)=\"removeAfter(t)\">\r\n <span class=\"text-light font-weight-normal\">&times;</span>\r\n </button>\r\n </div>\r\n\r\n <div i18n *ngIf=\"(!tags || tags.length == 0) && (input.value == '')\"\r\n class=\"position-absolute p-0 font-weight-normal text-secondary text-nowrap\"\r\n style=\"top: .5rem; left: 1rem;\">Add tags by clicking inside</div>\r\n\r\n</div>\r\n","styles":[".form-control-lg.is-empty,.form-control-sm.is-empty,.form-control.is-empty{border:none!important}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"inputClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":5}}]}],"service":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":5}}]}],"tags":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5}}]}],"resolveTags":[{"__symbolic":"method"}],"_addTags":[{"__symbolic":"method"}],"_addTag":[{"__symbolic":"method"}],"_applyTag":[{"__symbolic":"method"}],"removeAfter":[{"__symbolic":"method"}],"removeBefore":[{"__symbolic":"method"}],"_removeTag":[{"__symbolic":"method"}],"spliceIf":[{"__symbolic":"method"}],"selectedItem":[{"__symbolic":"method"}],"key":[{"__symbolic":"method"}]}},"JwtInterceptor":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":13,"character":20},{"__symbolic":"reference","name":"UserManager"},{"__symbolic":"reference","name":"MessageService"},{"__symbolic":"reference","name":"TranslatorService"}]}],"intercept":[{"__symbolic":"method"}],"throwNoInternetConnectionError":[{"__symbolic":"method"}],"handleRequest":[{"__symbolic":"method"}]}},"UserManager":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1}}],"members":{"LoggedInAs":[{"__symbolic":"method"}],"getCurrentUser":[{"__symbolic":"method"}],"loggedOut":[{"__symbolic":"method"}]}},"IUser":{"__symbolic":"interface"},"SpinnerService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{"register":[{"__symbolic":"method"}],"unregister":[{"__symbolic":"method"}],"unregisterAll":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"showAll":[{"__symbolic":"method"}],"hideAll":[{"__symbolic":"method"}],"isShowing":[{"__symbolic":"method"}]}},"SpinnerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"spinner","template":"\n <div *ngIf=\"show\" class=\"spinner\"\n [class.spinner-fullscreen]=\"fullScreen\"\n [style.background-color]=\"bgcolor\"\n [style.min-width]=\"width\"\n [style.min-height]=\"height\"\n [style.right]=\"right\"\n [style.left]=\"left\"\n [style.top]=\"top\"\n [style.bottom]=\"bottom\"\n [style.position]=\"position\"\n>\n <div *ngIf=\"loadingImage\" class=\"lds-spinner\">\n <img [src]=\"loadingImage\" />\n </div>\n <div *ngIf=\"!loadingImage\" class=\"lds-spinner\"\n [style.transform]=\"transform\"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div>\n <ng-content></ng-content>\n </div>\n ","styles":["\n .lds-spinner img {\n width: 100%;\n height: 100%;\n }\n .lds-spinner {\n display: inline-block;\n position: relative;\n width: 64px;\n height: 64px;\n margin: auto;\n }\n .lds-spinner div {\n transform-origin: 32px 32px;\n animation: lds-spinner 1.2s linear infinite;\n }\n .lds-spinner div:after {\n content: \" \";\n display: block;\n position: absolute;\n top: 3px;\n left: 29px;\n width: 5px;\n height: 14px;\n border-radius: 20%;\n /*background: #fff;*/\n background: #616060;\n }\n .lds-spinner div:nth-child(1) {\n transform: rotate(0deg);\n animation-delay: -1.1s;\n }\n .lds-spinner div:nth-child(2) {\n transform: rotate(30deg);\n animation-delay: -1s;\n }\n .lds-spinner div:nth-child(3) {\n transform: rotate(60deg);\n animation-delay: -0.9s;\n }\n .lds-spinner div:nth-child(4) {\n transform: rotate(90deg);\n animation-delay: -0.8s;\n }\n .lds-spinner div:nth-child(5) {\n transform: rotate(120deg);\n animation-delay: -0.7s;\n }\n .lds-spinner div:nth-child(6) {\n transform: rotate(150deg);\n animation-delay: -0.6s;\n }\n .lds-spinner div:nth-child(7) {\n transform: rotate(180deg);\n animation-delay: -0.5s;\n }\n .lds-spinner div:nth-child(8) {\n transform: rotate(210deg);\n animation-delay: -0.4s;\n }\n .lds-spinner div:nth-child(9) {\n transform: rotate(240deg);\n animation-delay: -0.3s;\n }\n .lds-spinner div:nth-child(10) {\n transform: rotate(270deg);\n animation-delay: -0.2s;\n }\n .lds-spinner div:nth-child(11) {\n transform: rotate(300deg);\n animation-delay: -0.1s;\n }\n .lds-spinner div:nth-child(12) {\n transform: rotate(330deg);\n animation-delay: 0s;\n }\n\n @keyframes lds-spinner {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n }\n\n .spinner {\n z-index: 101000;\n display: flex;\n }\n\n .spinner-fullscreen {\n position: fixed;\n top: 0;\n left: 0;\n width: 100% !important;\n height: 100% !important;\n z-index: 101000;\n display: flex;\n }\n "]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"SpinnerService"}]}],"name":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":130,"character":3}}]}],"loadingImage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":131,"character":3}}]}],"fullScreen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":132,"character":3}}]}],"bgcolor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":133,"character":3}}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":134,"character":3}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":135,"character":3}}]}],"right":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":136,"character":3}}]}],"left":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":137,"character":3}}]}],"top":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":138,"character":3}}]}],"bottom":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":139,"character":3}}]}],"position":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":140,"character":3}}]}],"transform":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":141,"character":3}}]}],"show":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":145,"character":3}}]}],"showChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":150,"character":3}}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"TranslatorService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":10,"character":21},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":11,"character":22}]}],"addTranslations":[{"__symbolic":"method"}],"getTranslation":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"BaseTranslatorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":35,"character":1},"arguments":[{"template":""}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}}},"origins":{"B4ToolsModule":"./lib/b4-tools.module","OptionsFilterComponent":"./lib/filter/options-filter/options-filter.component","TextFilterComponent":"./lib/filter/text-filter/text-filter.component","HeaderFilterDirective":"./lib/filter/header-filter.directive","FilterDirective":"./lib/filter/header-filter.directive","MessageService":"./lib/message-service/message.service","EventMessage":"./lib/message-service/message.service","IEventMessageOptions":"./lib/message-service/message.service","MessageViewComponent":"./lib/message-service/message-view.component","IFilterComponent":"./lib/models/filter-models","FilterOption":"./lib/models/filter-models","GridFacade":"./lib/models/grid-facade","ITagService":"./lib/models/itag-service","PagedResult":"./lib/models/paged-result","Tag":"./lib/models/tag","TagInputComponent":"./lib/tag-input/tag-input.component","JwtInterceptor":"./lib/tools/jwt.interceptor","UserManager":"./lib/tools/userManager","IUser":"./lib/tools/userManager","SpinnerService":"./lib/spinner/spinner.service","SpinnerComponent":"./lib/spinner/spinner.component","TranslatorService":"./lib/translator/translator.service","BaseTranslatorComponent":"./lib/translator/translator.service"},"importAs":"b4-tools"}
{"__symbolic":"module","version":4,"metadata":{"B4ToolsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":12,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"TagInputComponent"},{"__symbolic":"reference","name":"FilterDirective"},{"__symbolic":"reference","name":"HeaderFilterDirective"},{"__symbolic":"reference","name":"TextFilterComponent"},{"__symbolic":"reference","name":"OptionsFilterComponent"},{"__symbolic":"reference","name":"MessageViewComponent"},{"__symbolic":"reference","name":"SpinnerComponent"},{"__symbolic":"reference","name":"BaseTranslatorComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":24,"character":4},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbModule","line":25,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":26,"character":4}],"exports":[{"__symbolic":"reference","name":"TagInputComponent"},{"__symbolic":"reference","name":"FilterDirective"},{"__symbolic":"reference","name":"HeaderFilterDirective"},{"__symbolic":"reference","name":"MessageViewComponent"},{"__symbolic":"reference","name":"SpinnerComponent"},{"__symbolic":"reference","name":"BaseTranslatorComponent"}],"providers":[{"__symbolic":"reference","name":"TranslatorService"}],"entryComponents":[{"__symbolic":"reference","name":"TextFilterComponent"},{"__symbolic":"reference","name":"OptionsFilterComponent"}]}]}],"members":{}},"OptionsFilterComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"app-options-filter","template":"<div class=\"input-group input-group-sm\">\r\n <select class=\"form-control\" [(ngModel)]=\"value\">\r\n <option i18n=\"@@b4ToolsOptionsFilter\" *ngFor=\"let option of options\" [ngValue]=\"option.value\">{option.key, select, key{key}}</option>\r\n </select>\r\n</div>\r\n","styles":[""]}]}],"members":{"getFilter":[{"__symbolic":"method"}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"TextFilterComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"app-text-filter","template":"<div class=\"input-group input-group-sm\">\r\n <input class=\"form-control\" [(ngModel)]=\"text\" (keyup.enter)=\"onFilter()\" />\r\n <div class=\"input-group-append\">\r\n <button class=\"btn btn-secondary btn-filter\" (click)=\"onFilter()\">\r\n <img height=\"16\"\r\n src=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB3aWR0aD0iMTc5MiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTU5NSAyOTVxMTcgNDEtMTQgNzBsLTQ5MyA0OTN2NzQycTAgNDItMzkgNTktMTMgNS0yNSA1LTI3IDAtNDUtMTlsLTI1Ni0yNTZxLTE5LTE5LTE5LTQ1di00ODZsLTQ5My00OTNxLTMxLTI5LTE0LTcwIDE3LTM5IDU5LTM5aDEyODBxNDIgMCA1OSAzOXoiLz48L3N2Zz4=\" />\r\n </button>\r\n </div>\r\n</div>\r\n","styles":[".btn-filter{padding-top:unset!important;padding-bottom:unset!important;background-color:transparent!important;border-color:#f7f7f7!important}"]}]}],"members":{"getFilter":[{"__symbolic":"method"}],"__ctor__":[{"__symbolic":"constructor"}],"onFilter":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}]}},"HeaderFilterDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[b4-header-filter]"}]}],"members":{"field":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3},"arguments":["b4-header-filter"]}]}],"operator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3},"arguments":["b4-filter-operator"]}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3},"arguments":["b4-filter-options"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":18,"character":38},{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":19,"character":30}]}],"ngOnInit":[{"__symbolic":"method"}],"createComponent":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"FilterDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":49,"character":1},"arguments":[{"selector":"[b4-filter]","queries":{"contentChildren":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":52,"character":25},"arguments":[{"__symbolic":"reference","name":"HeaderFilterDirective"}]}}}]}],"members":{"filterChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":59,"character":3},"arguments":["b4-filter"]}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngAfterContentInit":[{"__symbolic":"method"}],"onFilterChanged":[{"__symbolic":"method"}]}},"MessageService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1}}],"members":{"listen":[{"__symbolic":"method"}],"filter":[{"__symbolic":"method"}]}},"EventMessage":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"any"}]}],"getClass":[{"__symbolic":"method"}]},"statics":{"Error":"error","Info":"info","Warning":"warn"}},"IEventMessageOptions":{"__symbolic":"interface"},"MessageViewComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"b4-message-view","template":"<div *ngFor=\"let message of messages\">\n <div [class]=\"message.containerClass\">\n <button type=\"button\" class=\"close\" *ngIf=\"message.isClosable\" (click)=\"remove(message)\">&times;</button>\n <ng-container *ngTemplateOutlet=\"msg; context: { $implicit: message }\"></ng-container>\n </div>\n</div>"}]}],"members":{"msg":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":18,"character":3},"arguments":["msg",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"MessageService"}]}],"ngOnInit":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"isMessageUnique":[{"__symbolic":"method"}]}},"IFilterComponent":{"__symbolic":"interface"},"FilterOption":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"boolean"}]}]}},"GridFacade":{"__symbolic":"class","members":{"filterChanged":[{"__symbolic":"method"}],"nextPage":[{"__symbolic":"method"}],"sort":[{"__symbolic":"method"}],"loadPage":[{"__symbolic":"method"}]}},"ITagService":{"__symbolic":"interface"},"PagedResult":{"__symbolic":"class","arity":1,"members":{}},"Tag":{"__symbolic":"class","members":{}},"TagInputComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"b4-tag-input","template":"<ng-template #rt let-r=\"result\" let-t=\"term\">\r\n <div>{{ r.value }}</div>\r\n</ng-template>\r\n\r\n<div class=\"form-control-lg w-100 pb-0\"\r\n [class.border-0]=\"(!tags || tags.length == 0) && (input.value == '')\"\r\n style=\"height: auto; min-height: 40px; padding-top: 7px; padding-bottom: 3px !important;\"\r\n (click)=\"input.focus()\">\r\n <div *ngFor=\"let t of beforeTags\"\r\n class=\"badge mr-1 mb-1 font-weight-normal\"\r\n [class.badge-info]=\"t.id\"\r\n [class.badge-danger]=\"!t.id\"\r\n style=\"font-size: 100%; padding: 3px;\">\r\n {{ t.value }}\r\n <button type=\"button\" class=\"close ml-2\" style=\"font-size: 0.9rem;\" (click)=\"removeBefore(t)\">\r\n <span class=\"text-light font-weight-normal\">&times;</span>\r\n </button>\r\n </div>\r\n <input type=\"text\" [ngClass]=\"inputClass\" [(ngModel)]=\"word\" [size]=\"size\"\r\n #input\r\n [ngbTypeahead]=\"search\" [resultTemplate]=\"rt\"\r\n (selectItem)=\"selectedItem($event)\" (keydown)=\"key($event)\" />\r\n <div *ngFor=\"let t of afterTags\"\r\n class=\"badge mr-1 mb-1 font-weight-normal\"\r\n [class.badge-info]=\"t.id\"\r\n [class.badge-danger]=\"!t.id\"\r\n style=\"font-size: 100%; padding: 3px;\">\r\n {{ t.value }}\r\n <button type=\"button\" class=\"close ml-2\" style=\"font-size: 0.9rem;\" (click)=\"removeAfter(t)\">\r\n <span class=\"text-light font-weight-normal\">&times;</span>\r\n </button>\r\n </div>\r\n\r\n <div i18n *ngIf=\"(!tags || tags.length == 0) && (input.value == '')\"\r\n class=\"position-absolute p-0 font-weight-normal text-secondary text-nowrap\"\r\n style=\"top: .5rem; left: 1rem;\">Add tags by clicking inside</div>\r\n\r\n</div>\r\n","styles":[".form-control-lg.is-empty,.form-control-sm.is-empty,.form-control.is-empty{border:none!important}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"inputClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":5}}]}],"service":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":5}}]}],"tags":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5}}]}],"resolveTags":[{"__symbolic":"method"}],"_addTags":[{"__symbolic":"method"}],"_addTag":[{"__symbolic":"method"}],"_applyTag":[{"__symbolic":"method"}],"removeAfter":[{"__symbolic":"method"}],"removeBefore":[{"__symbolic":"method"}],"_removeTag":[{"__symbolic":"method"}],"spliceIf":[{"__symbolic":"method"}],"selectedItem":[{"__symbolic":"method"}],"key":[{"__symbolic":"method"}]}},"JwtInterceptor":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":13,"character":20},{"__symbolic":"reference","name":"UserManager"},{"__symbolic":"reference","name":"MessageService"},{"__symbolic":"reference","name":"TranslatorService"}]}],"intercept":[{"__symbolic":"method"}],"throwNoInternetConnectionError":[{"__symbolic":"method"}],"handleRequest":[{"__symbolic":"method"}]}},"UserManager":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1}}],"members":{"LoggedInAs":[{"__symbolic":"method"}],"getCurrentUser":[{"__symbolic":"method"}],"loggedOut":[{"__symbolic":"method"}]}},"IUser":{"__symbolic":"interface"},"SpinnerService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{"register":[{"__symbolic":"method"}],"unregister":[{"__symbolic":"method"}],"unregisterAll":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"showAll":[{"__symbolic":"method"}],"hideAll":[{"__symbolic":"method"}],"isShowing":[{"__symbolic":"method"}]}},"SpinnerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"spinner","template":"\n <div *ngIf=\"show\" class=\"spinner\"\n [class.spinner-fullscreen]=\"fullScreen\"\n [style.background-color]=\"bgcolor\"\n [style.min-width]=\"width\"\n [style.min-height]=\"height\"\n [style.right]=\"right\"\n [style.left]=\"left\"\n [style.top]=\"top\"\n [style.bottom]=\"bottom\"\n [style.position]=\"position\"\n>\n <div *ngIf=\"loadingImage\" class=\"lds-spinner\">\n <img [src]=\"loadingImage\" />\n </div>\n <div *ngIf=\"!loadingImage\" class=\"lds-spinner\"\n [style.transform]=\"transform\"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div>\n <ng-content></ng-content>\n </div>\n ","styles":["\n .lds-spinner img {\n width: 100%;\n height: 100%;\n }\n .lds-spinner {\n display: inline-block;\n position: relative;\n width: 64px;\n height: 64px;\n margin: auto;\n }\n .lds-spinner div {\n transform-origin: 32px 32px;\n animation: lds-spinner 1.2s linear infinite;\n }\n .lds-spinner div:after {\n content: \" \";\n display: block;\n position: absolute;\n top: 3px;\n left: 29px;\n width: 5px;\n height: 14px;\n border-radius: 20%;\n /*background: #fff;*/\n background: #616060;\n }\n .lds-spinner div:nth-child(1) {\n transform: rotate(0deg);\n animation-delay: -1.1s;\n }\n .lds-spinner div:nth-child(2) {\n transform: rotate(30deg);\n animation-delay: -1s;\n }\n .lds-spinner div:nth-child(3) {\n transform: rotate(60deg);\n animation-delay: -0.9s;\n }\n .lds-spinner div:nth-child(4) {\n transform: rotate(90deg);\n animation-delay: -0.8s;\n }\n .lds-spinner div:nth-child(5) {\n transform: rotate(120deg);\n animation-delay: -0.7s;\n }\n .lds-spinner div:nth-child(6) {\n transform: rotate(150deg);\n animation-delay: -0.6s;\n }\n .lds-spinner div:nth-child(7) {\n transform: rotate(180deg);\n animation-delay: -0.5s;\n }\n .lds-spinner div:nth-child(8) {\n transform: rotate(210deg);\n animation-delay: -0.4s;\n }\n .lds-spinner div:nth-child(9) {\n transform: rotate(240deg);\n animation-delay: -0.3s;\n }\n .lds-spinner div:nth-child(10) {\n transform: rotate(270deg);\n animation-delay: -0.2s;\n }\n .lds-spinner div:nth-child(11) {\n transform: rotate(300deg);\n animation-delay: -0.1s;\n }\n .lds-spinner div:nth-child(12) {\n transform: rotate(330deg);\n animation-delay: 0s;\n }\n\n @keyframes lds-spinner {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n }\n\n .spinner {\n z-index: 101000;\n display: flex;\n }\n\n .spinner-fullscreen {\n position: fixed;\n top: 0;\n left: 0;\n width: 100% !important;\n height: 100% !important;\n z-index: 101000;\n display: flex;\n }\n "]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"SpinnerService"}]}],"name":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":130,"character":3}}]}],"loadingImage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":131,"character":3}}]}],"fullScreen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":132,"character":3}}]}],"bgcolor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":133,"character":3}}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":134,"character":3}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":135,"character":3}}]}],"right":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":136,"character":3}}]}],"left":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":137,"character":3}}]}],"top":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":138,"character":3}}]}],"bottom":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":139,"character":3}}]}],"position":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":140,"character":3}}]}],"transform":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":141,"character":3}}]}],"show":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":145,"character":3}}]}],"showChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":150,"character":3}}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"TranslatorService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":10,"character":21},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":11,"character":22}]}],"addTranslations":[{"__symbolic":"method"}],"getTranslation":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"BaseTranslatorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":35,"character":1},"arguments":[{"template":""}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}}},"origins":{"B4ToolsModule":"./lib/b4-tools.module","OptionsFilterComponent":"./lib/filter/options-filter/options-filter.component","TextFilterComponent":"./lib/filter/text-filter/text-filter.component","HeaderFilterDirective":"./lib/filter/header-filter.directive","FilterDirective":"./lib/filter/header-filter.directive","MessageService":"./lib/message-service/message.service","EventMessage":"./lib/message-service/message.service","IEventMessageOptions":"./lib/message-service/message.service","MessageViewComponent":"./lib/message-service/message-view.component","IFilterComponent":"./lib/models/filter-models","FilterOption":"./lib/models/filter-models","GridFacade":"./lib/models/grid-facade","ITagService":"./lib/models/itag-service","PagedResult":"./lib/models/paged-result","Tag":"./lib/models/tag","TagInputComponent":"./lib/tag-input/tag-input.component","JwtInterceptor":"./lib/tools/jwt.interceptor","UserManager":"./lib/tools/userManager","IUser":"./lib/tools/userManager","SpinnerService":"./lib/spinner/spinner.service","SpinnerComponent":"./lib/spinner/spinner.component","TranslatorService":"./lib/translator/translator.service","BaseTranslatorComponent":"./lib/translator/translator.service"},"importAs":"b4-tools"}

@@ -697,3 +697,7 @@ (function (global, factory) {

*/
function (m) { return _this.messages.push(m); }));
function (m) {
if (_this.isMessageUnique(m)) {
_this.messages.push(m);
}
}));
};

@@ -711,2 +715,19 @@ /**

};
/**
* @private
* @param {?} message
* @return {?}
*/
MessageViewComponent.prototype.isMessageUnique = /**
* @private
* @param {?} message
* @return {?}
*/
function (message) {
return (!this.messages.find((/**
* @param {?} m
* @return {?}
*/
function (m) { return message.type == m.type && message.text == m.text; })));
};
MessageViewComponent.decorators = [

@@ -713,0 +734,0 @@ { type: core.Component, args: [{

@@ -1,2 +0,2 @@

!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/common"),require("rxjs"),require("rxjs/operators"),require("@ng-bootstrap/ng-bootstrap"),require("@angular/forms"),require("@angular/router")):"function"==typeof define&&define.amd?define("b4-tools",["exports","@angular/core","@angular/common","rxjs","rxjs/operators","@ng-bootstrap/ng-bootstrap","@angular/forms","@angular/router"],e):e((t=t||self)["b4-tools"]={},t.ng.core,t.ng.common,t.rxjs,t.rxjs.operators,t.ngBootstrap,t.ng.forms,t.ng.router)}(this,function(t,e,n,r,i,o,s,a){"use strict";var p=function(){return function(){}}(),l=function(){function t(){var t=this;this._tags=[],this._inputClass="border-0 bg-light",this.beforeTags=[],this.afterTags=[],this.word="",this.search=function(e){return e.pipe(i.debounceTime(300),i.distinctUntilChanged(),i.switchMap(function(e){if(console.log(e),e.trim().length<2)return r.of([]);if(e.endsWith(" ")){var n=new p;return n.value=e.trim(),t._applyTag(n),t.tagService.find(e).subscribe(function(e){1==e.length&&e[0].value.toLowerCase()==n.value.toLowerCase()?n.id=e[0].id:t._removeTag(n)}),r.of([])}return t.tagService.find(e)}))}}return t.prototype.ngOnInit=function(){},Object.defineProperty(t.prototype,"inputClass",{get:function(){return this._inputClass},set:function(t){this._inputClass=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"service",{set:function(t){this.tagService=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"tags",{get:function(){return this._tags},set:function(t){t instanceof Array?(this._tags=t,this.beforeTags=t.slice()):(this._tags=[],this.beforeTags=[])},enumerable:!0,configurable:!0}),t.prototype.resolveTags=function(t){var e=this;!t||t.length<1||this._tags.length>0||this.tagService.resolve(t).subscribe(function(t){return e._addTags(t)})},t.prototype._addTags=function(t){var e=this;t.forEach(function(t){return e._addTag(t)})},t.prototype._addTag=function(t){t.id&&!this._tags.every(function(e){return e.id!=t.id})||(this.beforeTags.push(t),this._tags.push(t))},t.prototype._applyTag=function(t){var e=this;t.value=t.value.trim(),""!=t.value&&this._addTag(t),setTimeout(function(){return e.word=""},1)},t.prototype.removeAfter=function(t){this._removeTag(t,this.afterTags)},t.prototype.removeBefore=function(t){this._removeTag(t,this.beforeTags)},t.prototype._removeTag=function(t,e){e?this.spliceIf(e,t):(this.spliceIf(this.afterTags,t),this.spliceIf(this.beforeTags,t)),this.spliceIf(this._tags,t)},t.prototype.spliceIf=function(t,e){var n=t.indexOf(e);n>-1&&t.splice(n,1)},t.prototype.selectedItem=function(t){this._applyTag(t.item)},Object.defineProperty(t.prototype,"size",{get:function(){return this.word.length?Math.max(this.word.length,1):1},enumerable:!0,configurable:!0}),t.prototype.key=function(t){var e=t.srcElement,n=e.selectionStart;if(8==t.keyCode&&0==n){var r=this.beforeTags.pop();this._removeTag(r)}37==t.keyCode&&0==n&&this.beforeTags.length>0&&this.afterTags.unshift(this.beforeTags.pop()),39==t.keyCode&&n==e.value.length&&this.afterTags.length>0&&this.beforeTags.push(this.afterTags.shift())},t.decorators=[{type:e.Component,args:[{selector:"b4-tag-input",template:'<ng-template #rt let-r="result" let-t="term">\r\n <div>{{ r.value }}</div>\r\n</ng-template>\r\n\r\n<div class="form-control-lg w-100 pb-0"\r\n [class.border-0]="(!tags || tags.length == 0) && (input.value == \'\')"\r\n style="height: auto; min-height: 40px; padding-top: 7px; padding-bottom: 3px !important;"\r\n (click)="input.focus()">\r\n <div *ngFor="let t of beforeTags"\r\n class="badge mr-1 mb-1 font-weight-normal"\r\n [class.badge-info]="t.id"\r\n [class.badge-danger]="!t.id"\r\n style="font-size: 100%; padding: 3px;">\r\n {{ t.value }}\r\n <button type="button" class="close ml-2" style="font-size: 0.9rem;" (click)="removeBefore(t)">\r\n <span class="text-light font-weight-normal">&times;</span>\r\n </button>\r\n </div>\r\n <input type="text" [ngClass]="inputClass" [(ngModel)]="word" [size]="size"\r\n #input\r\n [ngbTypeahead]="search" [resultTemplate]="rt"\r\n (selectItem)="selectedItem($event)" (keydown)="key($event)" />\r\n <div *ngFor="let t of afterTags"\r\n class="badge mr-1 mb-1 font-weight-normal"\r\n [class.badge-info]="t.id"\r\n [class.badge-danger]="!t.id"\r\n style="font-size: 100%; padding: 3px;">\r\n {{ t.value }}\r\n <button type="button" class="close ml-2" style="font-size: 0.9rem;" (click)="removeAfter(t)">\r\n <span class="text-light font-weight-normal">&times;</span>\r\n </button>\r\n </div>\r\n\r\n <div i18n *ngIf="(!tags || tags.length == 0) && (input.value == \'\')"\r\n class="position-absolute p-0 font-weight-normal text-secondary text-nowrap"\r\n style="top: .5rem; left: 1rem;">Add tags by clicking inside</div>\r\n\r\n</div>\r\n',styles:[".form-control-lg.is-empty,.form-control-sm.is-empty,.form-control.is-empty{border:none!important}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={inputClass:[{type:e.Input}],service:[{type:e.Input}],tags:[{type:e.Input}]},t}(),c=function(){function t(){this.filterChanged=new e.EventEmitter}return t.prototype.getFilter=function(){var t=this.text;return t?this.field+" "+this.operator+" "+t:null},t.prototype.onFilter=function(){this.filterChanged.next(this.getFilter())},t.prototype.ngOnInit=function(){},t.decorators=[{type:e.Component,args:[{selector:"app-text-filter",template:'<div class="input-group input-group-sm">\r\n <input class="form-control" [(ngModel)]="text" (keyup.enter)="onFilter()" />\r\n <div class="input-group-append">\r\n <button class="btn btn-secondary btn-filter" (click)="onFilter()">\r\n <img height="16"\r\n src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB3aWR0aD0iMTc5MiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTU5NSAyOTVxMTcgNDEtMTQgNzBsLTQ5MyA0OTN2NzQycTAgNDItMzkgNTktMTMgNS0yNSA1LTI3IDAtNDUtMTlsLTI1Ni0yNTZxLTE5LTE5LTE5LTQ1di00ODZsLTQ5My00OTNxLTMxLTI5LTE0LTcwIDE3LTM5IDU5LTM5aDEyODBxNDIgMCA1OSAzOXoiLz48L3N2Zz4=" />\r\n </button>\r\n </div>\r\n</div>\r\n',styles:[".btn-filter{padding-top:unset!important;padding-bottom:unset!important;background-color:transparent!important;border-color:#f7f7f7!important}"]}]}],t.ctorParameters=function(){return[]},t}(),u=function(){function t(){this.filterChanged=new e.EventEmitter}return t.prototype.getFilter=function(){return this._value?this.field+" "+this.operator+" "+this._value:null},Object.defineProperty(t.prototype,"value",{get:function(){return this._value},set:function(t){this._value=t,this.filterChanged.next(this.getFilter())},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){},t.decorators=[{type:e.Component,args:[{selector:"app-options-filter",template:'<div class="input-group input-group-sm">\r\n <select class="form-control" [(ngModel)]="value">\r\n <option i18n="@@b4ToolsOptionsFilter" *ngFor="let option of options" [ngValue]="option.value">{option.key, select, key{key}}</option>\r\n </select>\r\n</div>\r\n',styles:[""]}]}],t.ctorParameters=function(){return[]},t}(),h=function(){function t(t,e){this.componentFactoryResolver=t,this.viewContainerRef=e}return t.prototype.ngOnInit=function(){this.componentRef=this.createComponent(),this.filterInstance=this.componentRef.instance,this.filterInstance.operator=this.operator,this.filterInstance.field=this.field},t.prototype.createComponent=function(){if(this.options&&this.options.length>0){var t=this.componentFactoryResolver.resolveComponentFactory(u),e=this.viewContainerRef.createComponent(t);e.instance.options=this.options;var n=this.options.find(function(t){return!0===t.isDefault});return n&&(e.instance.value=n.value),e}var r=this.componentFactoryResolver.resolveComponentFactory(c);return this.viewContainerRef.createComponent(r)},t.prototype.ngOnDestroy=function(){this.componentRef.destroy()},t.decorators=[{type:e.Directive,args:[{selector:"[b4-header-filter]"}]}],t.ctorParameters=function(){return[{type:e.ComponentFactoryResolver},{type:e.ViewContainerRef}]},t.propDecorators={field:[{type:e.Input,args:["b4-header-filter"]}],operator:[{type:e.Input,args:["b4-filter-operator"]}],options:[{type:e.Input,args:["b4-filter-options"]}]},t}(),d=function(){function t(){this.filterChanged=new e.EventEmitter}return t.prototype.ngAfterContentInit=function(){var t=this;this.contentChildren.forEach(function(e){return e.filterInstance.filterChanged.subscribe(function(e){t.onFilterChanged()})}),this.onFilterChanged()},t.prototype.onFilterChanged=function(){var t=this.contentChildren.map(function(t){return t.filterInstance.getFilter()}).filter(function(t){return null!=t}).join(" and ");this.filterChanged.next(t)},t.decorators=[{type:e.Directive,args:[{selector:"[b4-filter]",queries:{contentChildren:new e.ContentChildren(h)}}]}],t.ctorParameters=function(){return[]},t.propDecorators={filterChanged:[{type:e.Output,args:["b4-filter"]}]},t}(),f=function(){function t(){this._listners=new r.Subject}return t.prototype.listen=function(){return this._listners.asObservable()},t.prototype.filter=function(t){this._listners.next(t)},t.decorators=[{type:e.Injectable}],t}(),g=function(){function t(t,e,n){this.type=t,this.text=e,this.options=n,this.isShown=!0}return t.prototype.getClass=function(){switch(this.type){case t.Error:return"alert-danger";case t.Info:return"alert-info";case t.Warning:return"alert-warning"}return""},Object.defineProperty(t.prototype,"containerClass",{get:function(){return this.options&&this.options.containerClass?this.options.containerClass:"alert alert-dismissible "+this.getClass()+" fixed-top m-1"},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isClosable",{get:function(){return!this.options||null==this.options.closable||this.options.closable},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"data",{get:function(){return this.options?this.options.data:null},enumerable:!0,configurable:!0}),t.Error="error",t.Info="info",t.Warning="warn",t}(),m=function(){function t(t){this.messageService=t,this.messages=[],this.containerClass=""}return t.prototype.ngOnInit=function(){var t=this;this.messageService.listen().subscribe(function(e){return t.messages.push(e)})},t.prototype.remove=function(t){this.messages.splice(this.messages.indexOf(t),1)},t.decorators=[{type:e.Component,args:[{selector:"b4-message-view",template:'<div *ngFor="let message of messages">\n <div [class]="message.containerClass">\n <button type="button" class="close" *ngIf="message.isClosable" (click)="remove(message)">&times;</button>\n <ng-container *ngTemplateOutlet="msg; context: { $implicit: message }"></ng-container>\n </div>\n</div>'}]}],t.ctorParameters=function(){return[{type:f}]},t.propDecorators={msg:[{type:e.ContentChild,args:["msg",{"static":!1}]}]},t}(),y=function(){function t(){this.spinnerCache=new Set,this.defaultSpinnerName="defaultSpinner",this.onRegistered=new e.EventEmitter,this.onUnregistered=new e.EventEmitter}return t.prototype.register=function(t){var e=this;t.name||(t.name=this.defaultSpinnerName),this.spinnerCache.forEach(function(n){n.name===t.name&&e.spinnerCache["delete"](n)}),this.spinnerCache.add(t),this.onRegistered.emit(t.name)},t.prototype.unregister=function(t){var e=this;this.spinnerCache.forEach(function(n){n===t&&(e.spinnerCache["delete"](n),e.onUnregistered.emit(n.name))})},t.prototype.unregisterAll=function(){this.spinnerCache.clear()},t.prototype.show=function(t){void 0===t&&(t=this.defaultSpinnerName),this.spinnerCache.forEach(function(e){e.name===t&&(e.show=!0)})},t.prototype.hide=function(t){void 0===t&&(t=this.defaultSpinnerName),this.spinnerCache.forEach(function(e){e.name===t&&(e.show=!1)})},t.prototype.showAll=function(){this.spinnerCache.forEach(function(t){return t.show=!0})},t.prototype.hideAll=function(){this.spinnerCache.forEach(function(t){return t.show=!1})},t.prototype.isShowing=function(t){void 0===t&&(t=this.defaultSpinnerName);var e=undefined;return this.spinnerCache.forEach(function(n){n.name===t&&(e=n.show)}),e},t.decorators=[{type:e.Injectable}],t}(),v=function(){function t(t){this.spinnerService=t,this.isShowing=!1,this.showChange=new e.EventEmitter}return Object.defineProperty(t.prototype,"show",{get:function(){return this.isShowing},set:function(t){this.isShowing=t,this.showChange.emit(this.isShowing)},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){this.fullScreen===undefined&&(this.fullScreen=!0),this.bgcolor===undefined&&(this.bgcolor="rgba(255, 255, 255, 0.75)"),this.spinnerService.register(this)},t.prototype.ngOnDestroy=function(){this.spinnerService.unregister(this)},t.decorators=[{type:e.Component,args:[{selector:"spinner",template:'\n <div *ngIf="show" class="spinner"\n [class.spinner-fullscreen]="fullScreen"\n [style.background-color]="bgcolor"\n [style.min-width]="width"\n [style.min-height]="height"\n [style.right]="right"\n [style.left]="left"\n [style.top]="top"\n [style.bottom]="bottom"\n [style.position]="position"\n>\n <div *ngIf="loadingImage" class="lds-spinner">\n <img [src]="loadingImage" />\n </div>\n <div *ngIf="!loadingImage" class="lds-spinner"\n [style.transform]="transform"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div>\n <ng-content></ng-content>\n </div>\n ',styles:['\n .lds-spinner img {\n width: 100%;\n height: 100%;\n }\n .lds-spinner {\n display: inline-block;\n position: relative;\n width: 64px;\n height: 64px;\n margin: auto;\n }\n .lds-spinner div {\n transform-origin: 32px 32px;\n animation: lds-spinner 1.2s linear infinite;\n }\n .lds-spinner div:after {\n content: " ";\n display: block;\n position: absolute;\n top: 3px;\n left: 29px;\n width: 5px;\n height: 14px;\n border-radius: 20%;\n /*background: #fff;*/\n background: #616060;\n }\n .lds-spinner div:nth-child(1) {\n transform: rotate(0deg);\n animation-delay: -1.1s;\n }\n .lds-spinner div:nth-child(2) {\n transform: rotate(30deg);\n animation-delay: -1s;\n }\n .lds-spinner div:nth-child(3) {\n transform: rotate(60deg);\n animation-delay: -0.9s;\n }\n .lds-spinner div:nth-child(4) {\n transform: rotate(90deg);\n animation-delay: -0.8s;\n }\n .lds-spinner div:nth-child(5) {\n transform: rotate(120deg);\n animation-delay: -0.7s;\n }\n .lds-spinner div:nth-child(6) {\n transform: rotate(150deg);\n animation-delay: -0.6s;\n }\n .lds-spinner div:nth-child(7) {\n transform: rotate(180deg);\n animation-delay: -0.5s;\n }\n .lds-spinner div:nth-child(8) {\n transform: rotate(210deg);\n animation-delay: -0.4s;\n }\n .lds-spinner div:nth-child(9) {\n transform: rotate(240deg);\n animation-delay: -0.3s;\n }\n .lds-spinner div:nth-child(10) {\n transform: rotate(270deg);\n animation-delay: -0.2s;\n }\n .lds-spinner div:nth-child(11) {\n transform: rotate(300deg);\n animation-delay: -0.1s;\n }\n .lds-spinner div:nth-child(12) {\n transform: rotate(330deg);\n animation-delay: 0s;\n }\n\n @keyframes lds-spinner {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n }\n\n .spinner {\n z-index: 101000;\n display: flex;\n }\n\n .spinner-fullscreen {\n position: fixed;\n top: 0;\n left: 0;\n width: 100% !important;\n height: 100% !important;\n z-index: 101000;\n display: flex;\n }\n ']}]}],t.ctorParameters=function(){return[{type:y}]},t.propDecorators={name:[{type:e.Input}],loadingImage:[{type:e.Input}],fullScreen:[{type:e.Input}],bgcolor:[{type:e.Input}],width:[{type:e.Input}],height:[{type:e.Input}],right:[{type:e.Input}],left:[{type:e.Input}],top:[{type:e.Input}],bottom:[{type:e.Input}],position:[{type:e.Input}],transform:[{type:e.Input}],show:[{type:e.Input}],showChange:[{type:e.Output}]},t}(),b=function(){function t(t,e){this.factory=t,this.injector=e,this.translated={},this.components=[]}return t.prototype.addTranslations=function(){for(var t=this,e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];e.forEach(function(e){if(t.components.find(function(t){return t==e})==undefined){t.components.push(e);var n=t.factory.resolveComponentFactory(e).create(t.injector);n.changeDetectorRef.detectChanges();var r=n.instance.translated;Object.keys(r).forEach(function(e){t.translated[e]=r[e]})}})},t.prototype.getTranslation=function(t){return this.translated[t]===undefined?t:this.translated[t]},t.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:e.ComponentFactoryResolver},{type:e.Injector}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(e.ComponentFactoryResolver),e.ɵɵinject(e.INJECTOR))},token:t,providedIn:"root"}),t}(),C=function(){function t(){this.translated={}}return t.decorators=[{type:e.Component,args:[{template:""}]}],t.ctorParameters=function(){return[]},t}(),I=function(){function t(){}return t.decorators=[{type:e.NgModule,args:[{declarations:[l,d,h,c,u,m,v,C],imports:[n.CommonModule,o.NgbModule,s.FormsModule],exports:[l,d,h,m,v,C],providers:[b],entryComponents:[c,u]}]}],t}(),w=function(){return function(t,e,n){void 0===n&&(n=!1),this.key=t,this.value=e,this.isDefault=n,this.value=null==this.value?this.key:this.value}}(),T=function(){function t(){this.pageSize=10,this.page=0,this.pageOptions=[5,10,25],this.filter="",this.sortField="",this.isAsc=!0,this.onStateChange=new r.Subject}return t.prototype.filterChanged=function(t){this.filter=t,this.page=0,this.loadPage()},t.prototype.nextPage=function(t){this.pageSize=t.pageSize,this.page=t.pageIndex,this.loadPage()},t.prototype.sort=function(t){this.isAsc="asc"===t.direction,this.sortField=t.active,this.page=0,this.loadPage()},t.prototype.loadPage=function(){this.onStateChange.next("page="+(this.page+1)+"&pagesize="+this.pageSize+"&filter="+this.filter+"&SortField="+this.sortField+"&SortAscending="+this.isAsc)},t}(),x=function(){return function(){this.items=[]}}(),S=function(){function t(){this.key="currentUser"}return t.prototype.LoggedInAs=function(t){localStorage.setItem(this.key,JSON.stringify(t))},t.prototype.getCurrentUser=function(){return JSON.parse(localStorage.getItem(this.key))},t.prototype.loggedOut=function(){localStorage.removeItem(this.key)},t.decorators=[{type:e.Injectable}],t}(),O=function(){function t(t,e,n,r){this.router=t,this.manager=e,this.messaging=n,this.translator=r}return t.prototype.intercept=function(t,e){if(t.url.endsWith("Auth")&&"POST"===t.method)return e.handle(t);var n=this.manager.getCurrentUser();return n&&n.token&&(t=t.clone({setHeaders:{Authorization:"Bearer "+n.token}})),this.handleRequest(e,t)},t.prototype.throwNoInternetConnectionError=function(){var t=this.translator.getTranslation("Please check your internet connection");return this.messaging.filter(new g(g.Warning,t)),r.throwError(new Error(t))},t.prototype.handleRequest=function(t,e,n){var o=this;return void 0===n&&(n=2),t.handle(e).pipe(i.retryWhen(function(t){return t.pipe(i.delay(200),i.tap(function(t){return 401===t.status?(o.router.navigate(["/login"]),o.messaging.filter(new g(g.Warning,o.translator.getTranslation("Session expired"))),o.manager.loggedOut(),r.throwError(t)):0!==t.status?r.throwError(t):n--<=0?o.throwNoInternetConnectionError():void console.log("Retrying...")}),i.take(3))}))},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[{type:a.Router},{type:S},{type:f},{type:b}]},t}();t.B4ToolsModule=I,t.BaseTranslatorComponent=C,t.EventMessage=g,t.FilterDirective=d,t.FilterOption=w,t.GridFacade=T,t.HeaderFilterDirective=h,t.JwtInterceptor=O,t.MessageService=f,t.MessageViewComponent=m,t.OptionsFilterComponent=u,t.PagedResult=x,t.SpinnerComponent=v,t.SpinnerService=y,t.Tag=p,t.TagInputComponent=l,t.TextFilterComponent=c,t.TranslatorService=b,t.UserManager=S,Object.defineProperty(t,"__esModule",{value:!0})});
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/common"),require("rxjs"),require("rxjs/operators"),require("@ng-bootstrap/ng-bootstrap"),require("@angular/forms"),require("@angular/router")):"function"==typeof define&&define.amd?define("b4-tools",["exports","@angular/core","@angular/common","rxjs","rxjs/operators","@ng-bootstrap/ng-bootstrap","@angular/forms","@angular/router"],e):e((t=t||self)["b4-tools"]={},t.ng.core,t.ng.common,t.rxjs,t.rxjs.operators,t.ngBootstrap,t.ng.forms,t.ng.router)}(this,function(t,e,n,r,i,o,s,a){"use strict";var p=function(){return function(){}}(),l=function(){function t(){var t=this;this._tags=[],this._inputClass="border-0 bg-light",this.beforeTags=[],this.afterTags=[],this.word="",this.search=function(e){return e.pipe(i.debounceTime(300),i.distinctUntilChanged(),i.switchMap(function(e){if(console.log(e),e.trim().length<2)return r.of([]);if(e.endsWith(" ")){var n=new p;return n.value=e.trim(),t._applyTag(n),t.tagService.find(e).subscribe(function(e){1==e.length&&e[0].value.toLowerCase()==n.value.toLowerCase()?n.id=e[0].id:t._removeTag(n)}),r.of([])}return t.tagService.find(e)}))}}return t.prototype.ngOnInit=function(){},Object.defineProperty(t.prototype,"inputClass",{get:function(){return this._inputClass},set:function(t){this._inputClass=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"service",{set:function(t){this.tagService=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"tags",{get:function(){return this._tags},set:function(t){t instanceof Array?(this._tags=t,this.beforeTags=t.slice()):(this._tags=[],this.beforeTags=[])},enumerable:!0,configurable:!0}),t.prototype.resolveTags=function(t){var e=this;!t||t.length<1||this._tags.length>0||this.tagService.resolve(t).subscribe(function(t){return e._addTags(t)})},t.prototype._addTags=function(t){var e=this;t.forEach(function(t){return e._addTag(t)})},t.prototype._addTag=function(t){t.id&&!this._tags.every(function(e){return e.id!=t.id})||(this.beforeTags.push(t),this._tags.push(t))},t.prototype._applyTag=function(t){var e=this;t.value=t.value.trim(),""!=t.value&&this._addTag(t),setTimeout(function(){return e.word=""},1)},t.prototype.removeAfter=function(t){this._removeTag(t,this.afterTags)},t.prototype.removeBefore=function(t){this._removeTag(t,this.beforeTags)},t.prototype._removeTag=function(t,e){e?this.spliceIf(e,t):(this.spliceIf(this.afterTags,t),this.spliceIf(this.beforeTags,t)),this.spliceIf(this._tags,t)},t.prototype.spliceIf=function(t,e){var n=t.indexOf(e);n>-1&&t.splice(n,1)},t.prototype.selectedItem=function(t){this._applyTag(t.item)},Object.defineProperty(t.prototype,"size",{get:function(){return this.word.length?Math.max(this.word.length,1):1},enumerable:!0,configurable:!0}),t.prototype.key=function(t){var e=t.srcElement,n=e.selectionStart;if(8==t.keyCode&&0==n){var r=this.beforeTags.pop();this._removeTag(r)}37==t.keyCode&&0==n&&this.beforeTags.length>0&&this.afterTags.unshift(this.beforeTags.pop()),39==t.keyCode&&n==e.value.length&&this.afterTags.length>0&&this.beforeTags.push(this.afterTags.shift())},t.decorators=[{type:e.Component,args:[{selector:"b4-tag-input",template:'<ng-template #rt let-r="result" let-t="term">\r\n <div>{{ r.value }}</div>\r\n</ng-template>\r\n\r\n<div class="form-control-lg w-100 pb-0"\r\n [class.border-0]="(!tags || tags.length == 0) && (input.value == \'\')"\r\n style="height: auto; min-height: 40px; padding-top: 7px; padding-bottom: 3px !important;"\r\n (click)="input.focus()">\r\n <div *ngFor="let t of beforeTags"\r\n class="badge mr-1 mb-1 font-weight-normal"\r\n [class.badge-info]="t.id"\r\n [class.badge-danger]="!t.id"\r\n style="font-size: 100%; padding: 3px;">\r\n {{ t.value }}\r\n <button type="button" class="close ml-2" style="font-size: 0.9rem;" (click)="removeBefore(t)">\r\n <span class="text-light font-weight-normal">&times;</span>\r\n </button>\r\n </div>\r\n <input type="text" [ngClass]="inputClass" [(ngModel)]="word" [size]="size"\r\n #input\r\n [ngbTypeahead]="search" [resultTemplate]="rt"\r\n (selectItem)="selectedItem($event)" (keydown)="key($event)" />\r\n <div *ngFor="let t of afterTags"\r\n class="badge mr-1 mb-1 font-weight-normal"\r\n [class.badge-info]="t.id"\r\n [class.badge-danger]="!t.id"\r\n style="font-size: 100%; padding: 3px;">\r\n {{ t.value }}\r\n <button type="button" class="close ml-2" style="font-size: 0.9rem;" (click)="removeAfter(t)">\r\n <span class="text-light font-weight-normal">&times;</span>\r\n </button>\r\n </div>\r\n\r\n <div i18n *ngIf="(!tags || tags.length == 0) && (input.value == \'\')"\r\n class="position-absolute p-0 font-weight-normal text-secondary text-nowrap"\r\n style="top: .5rem; left: 1rem;">Add tags by clicking inside</div>\r\n\r\n</div>\r\n',styles:[".form-control-lg.is-empty,.form-control-sm.is-empty,.form-control.is-empty{border:none!important}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={inputClass:[{type:e.Input}],service:[{type:e.Input}],tags:[{type:e.Input}]},t}(),c=function(){function t(){this.filterChanged=new e.EventEmitter}return t.prototype.getFilter=function(){var t=this.text;return t?this.field+" "+this.operator+" "+t:null},t.prototype.onFilter=function(){this.filterChanged.next(this.getFilter())},t.prototype.ngOnInit=function(){},t.decorators=[{type:e.Component,args:[{selector:"app-text-filter",template:'<div class="input-group input-group-sm">\r\n <input class="form-control" [(ngModel)]="text" (keyup.enter)="onFilter()" />\r\n <div class="input-group-append">\r\n <button class="btn btn-secondary btn-filter" (click)="onFilter()">\r\n <img height="16"\r\n src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB3aWR0aD0iMTc5MiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTU5NSAyOTVxMTcgNDEtMTQgNzBsLTQ5MyA0OTN2NzQycTAgNDItMzkgNTktMTMgNS0yNSA1LTI3IDAtNDUtMTlsLTI1Ni0yNTZxLTE5LTE5LTE5LTQ1di00ODZsLTQ5My00OTNxLTMxLTI5LTE0LTcwIDE3LTM5IDU5LTM5aDEyODBxNDIgMCA1OSAzOXoiLz48L3N2Zz4=" />\r\n </button>\r\n </div>\r\n</div>\r\n',styles:[".btn-filter{padding-top:unset!important;padding-bottom:unset!important;background-color:transparent!important;border-color:#f7f7f7!important}"]}]}],t.ctorParameters=function(){return[]},t}(),u=function(){function t(){this.filterChanged=new e.EventEmitter}return t.prototype.getFilter=function(){return this._value?this.field+" "+this.operator+" "+this._value:null},Object.defineProperty(t.prototype,"value",{get:function(){return this._value},set:function(t){this._value=t,this.filterChanged.next(this.getFilter())},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){},t.decorators=[{type:e.Component,args:[{selector:"app-options-filter",template:'<div class="input-group input-group-sm">\r\n <select class="form-control" [(ngModel)]="value">\r\n <option i18n="@@b4ToolsOptionsFilter" *ngFor="let option of options" [ngValue]="option.value">{option.key, select, key{key}}</option>\r\n </select>\r\n</div>\r\n',styles:[""]}]}],t.ctorParameters=function(){return[]},t}(),h=function(){function t(t,e){this.componentFactoryResolver=t,this.viewContainerRef=e}return t.prototype.ngOnInit=function(){this.componentRef=this.createComponent(),this.filterInstance=this.componentRef.instance,this.filterInstance.operator=this.operator,this.filterInstance.field=this.field},t.prototype.createComponent=function(){if(this.options&&this.options.length>0){var t=this.componentFactoryResolver.resolveComponentFactory(u),e=this.viewContainerRef.createComponent(t);e.instance.options=this.options;var n=this.options.find(function(t){return!0===t.isDefault});return n&&(e.instance.value=n.value),e}var r=this.componentFactoryResolver.resolveComponentFactory(c);return this.viewContainerRef.createComponent(r)},t.prototype.ngOnDestroy=function(){this.componentRef.destroy()},t.decorators=[{type:e.Directive,args:[{selector:"[b4-header-filter]"}]}],t.ctorParameters=function(){return[{type:e.ComponentFactoryResolver},{type:e.ViewContainerRef}]},t.propDecorators={field:[{type:e.Input,args:["b4-header-filter"]}],operator:[{type:e.Input,args:["b4-filter-operator"]}],options:[{type:e.Input,args:["b4-filter-options"]}]},t}(),d=function(){function t(){this.filterChanged=new e.EventEmitter}return t.prototype.ngAfterContentInit=function(){var t=this;this.contentChildren.forEach(function(e){return e.filterInstance.filterChanged.subscribe(function(e){t.onFilterChanged()})}),this.onFilterChanged()},t.prototype.onFilterChanged=function(){var t=this.contentChildren.map(function(t){return t.filterInstance.getFilter()}).filter(function(t){return null!=t}).join(" and ");this.filterChanged.next(t)},t.decorators=[{type:e.Directive,args:[{selector:"[b4-filter]",queries:{contentChildren:new e.ContentChildren(h)}}]}],t.ctorParameters=function(){return[]},t.propDecorators={filterChanged:[{type:e.Output,args:["b4-filter"]}]},t}(),f=function(){function t(){this._listners=new r.Subject}return t.prototype.listen=function(){return this._listners.asObservable()},t.prototype.filter=function(t){this._listners.next(t)},t.decorators=[{type:e.Injectable}],t}(),g=function(){function t(t,e,n){this.type=t,this.text=e,this.options=n,this.isShown=!0}return t.prototype.getClass=function(){switch(this.type){case t.Error:return"alert-danger";case t.Info:return"alert-info";case t.Warning:return"alert-warning"}return""},Object.defineProperty(t.prototype,"containerClass",{get:function(){return this.options&&this.options.containerClass?this.options.containerClass:"alert alert-dismissible "+this.getClass()+" fixed-top m-1"},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isClosable",{get:function(){return!this.options||null==this.options.closable||this.options.closable},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"data",{get:function(){return this.options?this.options.data:null},enumerable:!0,configurable:!0}),t.Error="error",t.Info="info",t.Warning="warn",t}(),m=function(){function t(t){this.messageService=t,this.messages=[],this.containerClass=""}return t.prototype.ngOnInit=function(){var t=this;this.messageService.listen().subscribe(function(e){t.isMessageUnique(e)&&t.messages.push(e)})},t.prototype.remove=function(t){this.messages.splice(this.messages.indexOf(t),1)},t.prototype.isMessageUnique=function(t){return!this.messages.find(function(e){return t.type==e.type&&t.text==e.text})},t.decorators=[{type:e.Component,args:[{selector:"b4-message-view",template:'<div *ngFor="let message of messages">\n <div [class]="message.containerClass">\n <button type="button" class="close" *ngIf="message.isClosable" (click)="remove(message)">&times;</button>\n <ng-container *ngTemplateOutlet="msg; context: { $implicit: message }"></ng-container>\n </div>\n</div>'}]}],t.ctorParameters=function(){return[{type:f}]},t.propDecorators={msg:[{type:e.ContentChild,args:["msg",{"static":!1}]}]},t}(),y=function(){function t(){this.spinnerCache=new Set,this.defaultSpinnerName="defaultSpinner",this.onRegistered=new e.EventEmitter,this.onUnregistered=new e.EventEmitter}return t.prototype.register=function(t){var e=this;t.name||(t.name=this.defaultSpinnerName),this.spinnerCache.forEach(function(n){n.name===t.name&&e.spinnerCache["delete"](n)}),this.spinnerCache.add(t),this.onRegistered.emit(t.name)},t.prototype.unregister=function(t){var e=this;this.spinnerCache.forEach(function(n){n===t&&(e.spinnerCache["delete"](n),e.onUnregistered.emit(n.name))})},t.prototype.unregisterAll=function(){this.spinnerCache.clear()},t.prototype.show=function(t){void 0===t&&(t=this.defaultSpinnerName),this.spinnerCache.forEach(function(e){e.name===t&&(e.show=!0)})},t.prototype.hide=function(t){void 0===t&&(t=this.defaultSpinnerName),this.spinnerCache.forEach(function(e){e.name===t&&(e.show=!1)})},t.prototype.showAll=function(){this.spinnerCache.forEach(function(t){return t.show=!0})},t.prototype.hideAll=function(){this.spinnerCache.forEach(function(t){return t.show=!1})},t.prototype.isShowing=function(t){void 0===t&&(t=this.defaultSpinnerName);var e=undefined;return this.spinnerCache.forEach(function(n){n.name===t&&(e=n.show)}),e},t.decorators=[{type:e.Injectable}],t}(),v=function(){function t(t){this.spinnerService=t,this.isShowing=!1,this.showChange=new e.EventEmitter}return Object.defineProperty(t.prototype,"show",{get:function(){return this.isShowing},set:function(t){this.isShowing=t,this.showChange.emit(this.isShowing)},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){this.fullScreen===undefined&&(this.fullScreen=!0),this.bgcolor===undefined&&(this.bgcolor="rgba(255, 255, 255, 0.75)"),this.spinnerService.register(this)},t.prototype.ngOnDestroy=function(){this.spinnerService.unregister(this)},t.decorators=[{type:e.Component,args:[{selector:"spinner",template:'\n <div *ngIf="show" class="spinner"\n [class.spinner-fullscreen]="fullScreen"\n [style.background-color]="bgcolor"\n [style.min-width]="width"\n [style.min-height]="height"\n [style.right]="right"\n [style.left]="left"\n [style.top]="top"\n [style.bottom]="bottom"\n [style.position]="position"\n>\n <div *ngIf="loadingImage" class="lds-spinner">\n <img [src]="loadingImage" />\n </div>\n <div *ngIf="!loadingImage" class="lds-spinner"\n [style.transform]="transform"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div>\n <ng-content></ng-content>\n </div>\n ',styles:['\n .lds-spinner img {\n width: 100%;\n height: 100%;\n }\n .lds-spinner {\n display: inline-block;\n position: relative;\n width: 64px;\n height: 64px;\n margin: auto;\n }\n .lds-spinner div {\n transform-origin: 32px 32px;\n animation: lds-spinner 1.2s linear infinite;\n }\n .lds-spinner div:after {\n content: " ";\n display: block;\n position: absolute;\n top: 3px;\n left: 29px;\n width: 5px;\n height: 14px;\n border-radius: 20%;\n /*background: #fff;*/\n background: #616060;\n }\n .lds-spinner div:nth-child(1) {\n transform: rotate(0deg);\n animation-delay: -1.1s;\n }\n .lds-spinner div:nth-child(2) {\n transform: rotate(30deg);\n animation-delay: -1s;\n }\n .lds-spinner div:nth-child(3) {\n transform: rotate(60deg);\n animation-delay: -0.9s;\n }\n .lds-spinner div:nth-child(4) {\n transform: rotate(90deg);\n animation-delay: -0.8s;\n }\n .lds-spinner div:nth-child(5) {\n transform: rotate(120deg);\n animation-delay: -0.7s;\n }\n .lds-spinner div:nth-child(6) {\n transform: rotate(150deg);\n animation-delay: -0.6s;\n }\n .lds-spinner div:nth-child(7) {\n transform: rotate(180deg);\n animation-delay: -0.5s;\n }\n .lds-spinner div:nth-child(8) {\n transform: rotate(210deg);\n animation-delay: -0.4s;\n }\n .lds-spinner div:nth-child(9) {\n transform: rotate(240deg);\n animation-delay: -0.3s;\n }\n .lds-spinner div:nth-child(10) {\n transform: rotate(270deg);\n animation-delay: -0.2s;\n }\n .lds-spinner div:nth-child(11) {\n transform: rotate(300deg);\n animation-delay: -0.1s;\n }\n .lds-spinner div:nth-child(12) {\n transform: rotate(330deg);\n animation-delay: 0s;\n }\n\n @keyframes lds-spinner {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n }\n\n .spinner {\n z-index: 101000;\n display: flex;\n }\n\n .spinner-fullscreen {\n position: fixed;\n top: 0;\n left: 0;\n width: 100% !important;\n height: 100% !important;\n z-index: 101000;\n display: flex;\n }\n ']}]}],t.ctorParameters=function(){return[{type:y}]},t.propDecorators={name:[{type:e.Input}],loadingImage:[{type:e.Input}],fullScreen:[{type:e.Input}],bgcolor:[{type:e.Input}],width:[{type:e.Input}],height:[{type:e.Input}],right:[{type:e.Input}],left:[{type:e.Input}],top:[{type:e.Input}],bottom:[{type:e.Input}],position:[{type:e.Input}],transform:[{type:e.Input}],show:[{type:e.Input}],showChange:[{type:e.Output}]},t}(),b=function(){function t(t,e){this.factory=t,this.injector=e,this.translated={},this.components=[]}return t.prototype.addTranslations=function(){for(var t=this,e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];e.forEach(function(e){if(t.components.find(function(t){return t==e})==undefined){t.components.push(e);var n=t.factory.resolveComponentFactory(e).create(t.injector);n.changeDetectorRef.detectChanges();var r=n.instance.translated;Object.keys(r).forEach(function(e){t.translated[e]=r[e]})}})},t.prototype.getTranslation=function(t){return this.translated[t]===undefined?t:this.translated[t]},t.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:e.ComponentFactoryResolver},{type:e.Injector}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(e.ComponentFactoryResolver),e.ɵɵinject(e.INJECTOR))},token:t,providedIn:"root"}),t}(),C=function(){function t(){this.translated={}}return t.decorators=[{type:e.Component,args:[{template:""}]}],t.ctorParameters=function(){return[]},t}(),I=function(){function t(){}return t.decorators=[{type:e.NgModule,args:[{declarations:[l,d,h,c,u,m,v,C],imports:[n.CommonModule,o.NgbModule,s.FormsModule],exports:[l,d,h,m,v,C],providers:[b],entryComponents:[c,u]}]}],t}(),w=function(){return function(t,e,n){void 0===n&&(n=!1),this.key=t,this.value=e,this.isDefault=n,this.value=null==this.value?this.key:this.value}}(),T=function(){function t(){this.pageSize=10,this.page=0,this.pageOptions=[5,10,25],this.filter="",this.sortField="",this.isAsc=!0,this.onStateChange=new r.Subject}return t.prototype.filterChanged=function(t){this.filter=t,this.page=0,this.loadPage()},t.prototype.nextPage=function(t){this.pageSize=t.pageSize,this.page=t.pageIndex,this.loadPage()},t.prototype.sort=function(t){this.isAsc="asc"===t.direction,this.sortField=t.active,this.page=0,this.loadPage()},t.prototype.loadPage=function(){this.onStateChange.next("page="+(this.page+1)+"&pagesize="+this.pageSize+"&filter="+this.filter+"&SortField="+this.sortField+"&SortAscending="+this.isAsc)},t}(),x=function(){return function(){this.items=[]}}(),S=function(){function t(){this.key="currentUser"}return t.prototype.LoggedInAs=function(t){localStorage.setItem(this.key,JSON.stringify(t))},t.prototype.getCurrentUser=function(){return JSON.parse(localStorage.getItem(this.key))},t.prototype.loggedOut=function(){localStorage.removeItem(this.key)},t.decorators=[{type:e.Injectable}],t}(),O=function(){function t(t,e,n,r){this.router=t,this.manager=e,this.messaging=n,this.translator=r}return t.prototype.intercept=function(t,e){if(t.url.endsWith("Auth")&&"POST"===t.method)return e.handle(t);var n=this.manager.getCurrentUser();return n&&n.token&&(t=t.clone({setHeaders:{Authorization:"Bearer "+n.token}})),this.handleRequest(e,t)},t.prototype.throwNoInternetConnectionError=function(){var t=this.translator.getTranslation("Please check your internet connection");return this.messaging.filter(new g(g.Warning,t)),r.throwError(new Error(t))},t.prototype.handleRequest=function(t,e,n){var o=this;return void 0===n&&(n=2),t.handle(e).pipe(i.retryWhen(function(t){return t.pipe(i.delay(200),i.tap(function(t){return 401===t.status?(o.router.navigate(["/login"]),o.messaging.filter(new g(g.Warning,o.translator.getTranslation("Session expired"))),o.manager.loggedOut(),r.throwError(t)):0!==t.status?r.throwError(t):n--<=0?o.throwNoInternetConnectionError():void console.log("Retrying...")}),i.take(3))}))},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[{type:a.Router},{type:S},{type:f},{type:b}]},t}();t.B4ToolsModule=I,t.BaseTranslatorComponent=C,t.EventMessage=g,t.FilterDirective=d,t.FilterOption=w,t.GridFacade=T,t.HeaderFilterDirective=h,t.JwtInterceptor=O,t.MessageService=f,t.MessageViewComponent=m,t.OptionsFilterComponent=u,t.PagedResult=x,t.SpinnerComponent=v,t.SpinnerService=y,t.Tag=p,t.TagInputComponent=l,t.TextFilterComponent=c,t.TranslatorService=b,t.UserManager=S,Object.defineProperty(t,"__esModule",{value:!0})});
//# sourceMappingURL=b4-tools.umd.min.js.map

@@ -25,3 +25,7 @@ /**

*/
m => this.messages.push(m)));
m => {
if (this.isMessageUnique(m)) {
this.messages.push(m);
}
}));
}

@@ -35,2 +39,14 @@ /**

}
/**
* @private
* @param {?} message
* @return {?}
*/
isMessageUnique(message) {
return (!this.messages.find((/**
* @param {?} m
* @return {?}
*/
m => message.type == m.type && message.text == m.text)));
}
}

@@ -68,2 +84,2 @@ MessageViewComponent.decorators = [

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2I0LXRvb2xzLyIsInNvdXJjZXMiOlsibGliL21lc3NhZ2Utc2VydmljZS9tZXNzYWdlLXZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBZ0IsTUFBTSxtQkFBbUIsQ0FBQztBQVlqRSxNQUFNLE9BQU8sb0JBQW9COzs7O0lBTy9CLFlBQW9CLGNBQThCO1FBQTlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUwzQyxhQUFRLEdBQW1CLEVBQUUsQ0FBQztRQUM5QixtQkFBYyxHQUFXLEVBQUUsQ0FBQztJQUltQixDQUFDOzs7O0lBRXZELFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRTthQUN6QixTQUFTOzs7O1FBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFBO0lBQzFDLENBQUM7Ozs7O0lBRU0sTUFBTSxDQUFDLElBQWtCO1FBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7OztZQTFCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsUUFBUSxFQUNOOzs7OztPQUtHO2FBQ047Ozs7WUFYUSxjQUFjOzs7a0JBaUJwQixZQUFZLFNBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs7OztJQUh0Qyx3Q0FBcUM7O0lBQ3JDLDhDQUFtQzs7SUFFbkMsbUNBQThEOzs7OztJQUVsRCw4Q0FBc0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgQ29udGVudENoaWxkLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSwgRXZlbnRNZXNzYWdlIH0gZnJvbSAnLi9tZXNzYWdlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiNC1tZXNzYWdlLXZpZXcnLFxyXG4gIHRlbXBsYXRlOlxyXG4gICAgYDxkaXYgKm5nRm9yPVwibGV0IG1lc3NhZ2Ugb2YgbWVzc2FnZXNcIj5cclxuICA8ZGl2IFtjbGFzc109XCJtZXNzYWdlLmNvbnRhaW5lckNsYXNzXCI+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNsb3NlXCIgKm5nSWY9XCJtZXNzYWdlLmlzQ2xvc2FibGVcIiAoY2xpY2spPVwicmVtb3ZlKG1lc3NhZ2UpXCI+JnRpbWVzOzwvYnV0dG9uPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1zZzsgY29udGV4dDogeyAkaW1wbGljaXQ6IG1lc3NhZ2UgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5gXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZXNzYWdlVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIHB1YmxpYyBtZXNzYWdlczogRXZlbnRNZXNzYWdlW10gPSBbXTtcclxuICBwdWJsaWMgY29udGFpbmVyQ2xhc3M6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoJ21zZycsIHsgc3RhdGljOiBmYWxzZSB9KSBtc2c6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmxpc3RlbigpXHJcbiAgICAgIC5zdWJzY3JpYmUobSA9PiB0aGlzLm1lc3NhZ2VzLnB1c2gobSkpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVtb3ZlKGl0ZW06IEV2ZW50TWVzc2FnZSkge1xyXG4gICAgdGhpcy5tZXNzYWdlcy5zcGxpY2UodGhpcy5tZXNzYWdlcy5pbmRleE9mKGl0ZW0pLCAxKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2I0LXRvb2xzLyIsInNvdXJjZXMiOlsibGliL21lc3NhZ2Utc2VydmljZS9tZXNzYWdlLXZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBZ0IsTUFBTSxtQkFBbUIsQ0FBQztBQVlqRSxNQUFNLE9BQU8sb0JBQW9COzs7O0lBTy9CLFlBQW9CLGNBQThCO1FBQTlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUwzQyxhQUFRLEdBQW1CLEVBQUUsQ0FBQztRQUM5QixtQkFBYyxHQUFXLEVBQUUsQ0FBQztJQUltQixDQUFDOzs7O0lBRXZELFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRTthQUN6QixTQUFTOzs7O1FBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDYixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3ZCO1FBQ0gsQ0FBQyxFQUFDLENBQUE7SUFDTixDQUFDOzs7OztJQUVNLE1BQU0sQ0FBQyxJQUFrQjtRQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDOzs7Ozs7SUFFTyxlQUFlLENBQUMsT0FBcUI7UUFDM0MsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJOzs7O1FBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUN0RixDQUFDOzs7WUFsQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLFFBQVEsRUFDTjs7Ozs7T0FLRzthQUNOOzs7O1lBWFEsY0FBYzs7O2tCQWlCcEIsWUFBWSxTQUFDLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Ozs7SUFIdEMsd0NBQXFDOztJQUNyQyw4Q0FBbUM7O0lBRW5DLG1DQUE4RDs7Ozs7SUFFbEQsOENBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIENvbnRlbnRDaGlsZCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UsIEV2ZW50TWVzc2FnZSB9IGZyb20gJy4vbWVzc2FnZS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYjQtbWVzc2FnZS12aWV3JyxcclxuICB0ZW1wbGF0ZTpcclxuICAgIGA8ZGl2ICpuZ0Zvcj1cImxldCBtZXNzYWdlIG9mIG1lc3NhZ2VzXCI+XHJcbiAgPGRpdiBbY2xhc3NdPVwibWVzc2FnZS5jb250YWluZXJDbGFzc1wiPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjbG9zZVwiICpuZ0lmPVwibWVzc2FnZS5pc0Nsb3NhYmxlXCIgKGNsaWNrKT1cInJlbW92ZShtZXNzYWdlKVwiPiZ0aW1lczs8L2J1dHRvbj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtc2c7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBtZXNzYWdlIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuPC9kaXY+YFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVzc2FnZVZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBwdWJsaWMgbWVzc2FnZXM6IEV2ZW50TWVzc2FnZVtdID0gW107XHJcbiAgcHVibGljIGNvbnRhaW5lckNsYXNzOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBAQ29udGVudENoaWxkKCdtc2cnLCB7IHN0YXRpYzogZmFsc2UgfSkgbXNnOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5tZXNzYWdlU2VydmljZS5saXN0ZW4oKVxyXG4gICAgICAuc3Vic2NyaWJlKG0gPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmlzTWVzc2FnZVVuaXF1ZShtKSkge1xyXG4gICAgICAgICAgdGhpcy5tZXNzYWdlcy5wdXNoKG0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZW1vdmUoaXRlbTogRXZlbnRNZXNzYWdlKSB7XHJcbiAgICB0aGlzLm1lc3NhZ2VzLnNwbGljZSh0aGlzLm1lc3NhZ2VzLmluZGV4T2YoaXRlbSksIDEpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc01lc3NhZ2VVbmlxdWUobWVzc2FnZTogRXZlbnRNZXNzYWdlKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKCF0aGlzLm1lc3NhZ2VzLmZpbmQobSA9PiBtZXNzYWdlLnR5cGUgPT0gbS50eXBlICYmIG1lc3NhZ2UudGV4dCA9PSBtLnRleHQpKTtcclxuICB9XHJcbn1cclxuIl19

@@ -26,3 +26,7 @@ /**

*/
function (m) { return _this.messages.push(m); }));
function (m) {
if (_this.isMessageUnique(m)) {
_this.messages.push(m);
}
}));
};

@@ -40,2 +44,19 @@ /**

};
/**
* @private
* @param {?} message
* @return {?}
*/
MessageViewComponent.prototype.isMessageUnique = /**
* @private
* @param {?} message
* @return {?}
*/
function (message) {
return (!this.messages.find((/**
* @param {?} m
* @return {?}
*/
function (m) { return message.type == m.type && message.text == m.text; })));
};
MessageViewComponent.decorators = [

@@ -70,2 +91,2 @@ { type: Component, args: [{

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2I0LXRvb2xzLyIsInNvdXJjZXMiOlsibGliL21lc3NhZ2Utc2VydmljZS9tZXNzYWdlLXZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBZ0IsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRTtJQWlCRSw4QkFBb0IsY0FBOEI7UUFBOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBTDNDLGFBQVEsR0FBbUIsRUFBRSxDQUFDO1FBQzlCLG1CQUFjLEdBQVcsRUFBRSxDQUFDO0lBSW1CLENBQUM7Ozs7SUFFdkQsdUNBQVE7OztJQUFSO1FBQUEsaUJBR0M7UUFGQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRTthQUN6QixTQUFTOzs7O1FBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxLQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBckIsQ0FBcUIsRUFBQyxDQUFBO0lBQzFDLENBQUM7Ozs7O0lBRU0scUNBQU07Ozs7SUFBYixVQUFjLElBQWtCO1FBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7O2dCQTFCRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUNOLDZUQUtHO2lCQUNOOzs7O2dCQVhRLGNBQWM7OztzQkFpQnBCLFlBQVksU0FBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOztJQWF4QywyQkFBQztDQUFBLEFBNUJELElBNEJDO1NBbEJZLG9CQUFvQjs7O0lBRS9CLHdDQUFxQzs7SUFDckMsOENBQW1DOztJQUVuQyxtQ0FBOEQ7Ozs7O0lBRWxELDhDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBDb250ZW50Q2hpbGQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlLCBFdmVudE1lc3NhZ2UgfSBmcm9tICcuL21lc3NhZ2Uuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2I0LW1lc3NhZ2UtdmlldycsXHJcbiAgdGVtcGxhdGU6XHJcbiAgICBgPGRpdiAqbmdGb3I9XCJsZXQgbWVzc2FnZSBvZiBtZXNzYWdlc1wiPlxyXG4gIDxkaXYgW2NsYXNzXT1cIm1lc3NhZ2UuY29udGFpbmVyQ2xhc3NcIj5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiY2xvc2VcIiAqbmdJZj1cIm1lc3NhZ2UuaXNDbG9zYWJsZVwiIChjbGljayk9XCJyZW1vdmUobWVzc2FnZSlcIj4mdGltZXM7PC9idXR0b24+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibXNnOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogbWVzc2FnZSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PmBcclxufSlcclxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgcHVibGljIG1lc3NhZ2VzOiBFdmVudE1lc3NhZ2VbXSA9IFtdO1xyXG4gIHB1YmxpYyBjb250YWluZXJDbGFzczogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgQENvbnRlbnRDaGlsZCgnbXNnJywgeyBzdGF0aWM6IGZhbHNlIH0pIG1zZzogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UubGlzdGVuKClcclxuICAgICAgLnN1YnNjcmliZShtID0+IHRoaXMubWVzc2FnZXMucHVzaChtKSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZW1vdmUoaXRlbTogRXZlbnRNZXNzYWdlKSB7XHJcbiAgICB0aGlzLm1lc3NhZ2VzLnNwbGljZSh0aGlzLm1lc3NhZ2VzLmluZGV4T2YoaXRlbSksIDEpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2I0LXRvb2xzLyIsInNvdXJjZXMiOlsibGliL21lc3NhZ2Utc2VydmljZS9tZXNzYWdlLXZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBZ0IsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRTtJQWlCRSw4QkFBb0IsY0FBOEI7UUFBOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBTDNDLGFBQVEsR0FBbUIsRUFBRSxDQUFDO1FBQzlCLG1CQUFjLEdBQVcsRUFBRSxDQUFDO0lBSW1CLENBQUM7Ozs7SUFFdkQsdUNBQVE7OztJQUFSO1FBQUEsaUJBT0M7UUFOQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRTthQUN6QixTQUFTOzs7O1FBQUMsVUFBQSxDQUFDO1lBQ1YsSUFBSSxLQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUMzQixLQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN2QjtRQUNILENBQUMsRUFBQyxDQUFBO0lBQ04sQ0FBQzs7Ozs7SUFFTSxxQ0FBTTs7OztJQUFiLFVBQWMsSUFBa0I7UUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQzs7Ozs7O0lBRU8sOENBQWU7Ozs7O0lBQXZCLFVBQXdCLE9BQXFCO1FBQzNDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSTs7OztRQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksRUFBaEQsQ0FBZ0QsRUFBQyxDQUFDLENBQUM7SUFDdEYsQ0FBQzs7Z0JBbENGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQ04sNlRBS0c7aUJBQ047Ozs7Z0JBWFEsY0FBYzs7O3NCQWlCcEIsWUFBWSxTQUFDLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7O0lBb0J4QywyQkFBQztDQUFBLEFBbkNELElBbUNDO1NBekJZLG9CQUFvQjs7O0lBRS9CLHdDQUFxQzs7SUFDckMsOENBQW1DOztJQUVuQyxtQ0FBOEQ7Ozs7O0lBRWxELDhDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBDb250ZW50Q2hpbGQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlLCBFdmVudE1lc3NhZ2UgfSBmcm9tICcuL21lc3NhZ2Uuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2I0LW1lc3NhZ2UtdmlldycsXHJcbiAgdGVtcGxhdGU6XHJcbiAgICBgPGRpdiAqbmdGb3I9XCJsZXQgbWVzc2FnZSBvZiBtZXNzYWdlc1wiPlxyXG4gIDxkaXYgW2NsYXNzXT1cIm1lc3NhZ2UuY29udGFpbmVyQ2xhc3NcIj5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiY2xvc2VcIiAqbmdJZj1cIm1lc3NhZ2UuaXNDbG9zYWJsZVwiIChjbGljayk9XCJyZW1vdmUobWVzc2FnZSlcIj4mdGltZXM7PC9idXR0b24+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibXNnOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogbWVzc2FnZSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PmBcclxufSlcclxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgcHVibGljIG1lc3NhZ2VzOiBFdmVudE1lc3NhZ2VbXSA9IFtdO1xyXG4gIHB1YmxpYyBjb250YWluZXJDbGFzczogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgQENvbnRlbnRDaGlsZCgnbXNnJywgeyBzdGF0aWM6IGZhbHNlIH0pIG1zZzogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UubGlzdGVuKClcclxuICAgICAgLnN1YnNjcmliZShtID0+IHtcclxuICAgICAgICBpZiAodGhpcy5pc01lc3NhZ2VVbmlxdWUobSkpIHtcclxuICAgICAgICAgIHRoaXMubWVzc2FnZXMucHVzaChtKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVtb3ZlKGl0ZW06IEV2ZW50TWVzc2FnZSkge1xyXG4gICAgdGhpcy5tZXNzYWdlcy5zcGxpY2UodGhpcy5tZXNzYWdlcy5pbmRleE9mKGl0ZW0pLCAxKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNNZXNzYWdlVW5pcXVlKG1lc3NhZ2U6IEV2ZW50TWVzc2FnZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICghdGhpcy5tZXNzYWdlcy5maW5kKG0gPT4gbWVzc2FnZS50eXBlID09IG0udHlwZSAmJiBtZXNzYWdlLnRleHQgPT0gbS50ZXh0KSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==

@@ -569,3 +569,7 @@ import { Component, Input, EventEmitter, Directive, ComponentFactoryResolver, ViewContainerRef, ContentChildren, Output, Injectable, ContentChild, Injector, ɵɵdefineInjectable, ɵɵinject, INJECTOR, NgModule } from '@angular/core';

*/
m => this.messages.push(m)));
m => {
if (this.isMessageUnique(m)) {
this.messages.push(m);
}
}));
}

@@ -579,2 +583,14 @@ /**

}
/**
* @private
* @param {?} message
* @return {?}
*/
isMessageUnique(message) {
return (!this.messages.find((/**
* @param {?} m
* @return {?}
*/
m => message.type == m.type && message.text == m.text)));
}
}

@@ -581,0 +597,0 @@ MessageViewComponent.decorators = [

@@ -699,3 +699,7 @@ import { Component, Input, EventEmitter, Directive, ComponentFactoryResolver, ViewContainerRef, ContentChildren, Output, Injectable, ContentChild, Injector, ɵɵdefineInjectable, ɵɵinject, INJECTOR, NgModule } from '@angular/core';

*/
function (m) { return _this.messages.push(m); }));
function (m) {
if (_this.isMessageUnique(m)) {
_this.messages.push(m);
}
}));
};

@@ -713,2 +717,19 @@ /**

};
/**
* @private
* @param {?} message
* @return {?}
*/
MessageViewComponent.prototype.isMessageUnique = /**
* @private
* @param {?} message
* @return {?}
*/
function (message) {
return (!this.messages.find((/**
* @param {?} m
* @return {?}
*/
function (m) { return message.type == m.type && message.text == m.text; })));
};
MessageViewComponent.decorators = [

@@ -715,0 +736,0 @@ { type: Component, args: [{

@@ -11,2 +11,3 @@ import { OnInit, TemplateRef } from '@angular/core';

remove(item: EventMessage): void;
private isMessageUnique;
}
{
"name": "b4-tools",
"version": "0.0.27",
"version": "0.0.28",
"peerDependencies": {

@@ -5,0 +5,0 @@ "@angular/common": "^8.1.0",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc