{"__symbolic":"module","version":4,"metadata":{"UIService":{"__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":"ess-plugin-base","name":"I18N","line":12,"character":29},{"__symbolic":"reference","module":"@angular/material","name":"MatDialog","line":12,"character":50},{"__symbolic":"reference","module":"ngx-toastr","name":"ToastrService","line":12,"character":77}]}],"info":[{"__symbolic":"method"}],"warning":[{"__symbolic":"method"}],"success":[{"__symbolic":"method"}],"error":[{"__symbolic":"method"}],"confirm":[{"__symbolic":"method"}]}},"MY_FORMATS":{"parse":{"dateInput":"LL"},"display":{"dateInput":"D MMM YYYY","monthYearLabel":"YYYY","dateA11yLabel":"LL","monthYearA11yLabel":"YYYY"}},"ImportMaterialModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":79,"character":1},"arguments":[{"declarations":[],"imports":[{"__symbolic":"reference","module":"ess-plugin-base","name":"PluginBaseModule","line":86,"character":4},{"__symbolic":"reference","module":"@angular/cdk/a11y","name":"A11yModule","line":88,"character":4},{"__symbolic":"reference","module":"@angular/cdk/overlay","name":"OverlayModule","line":89,"character":4},{"__symbolic":"reference","module":"@angular/cdk/stepper","name":"CdkStepperModule","line":90,"character":4},{"__symbolic":"reference","module":"@angular/cdk/table","name":"CdkTableModule","line":91,"character":4},{"__symbolic":"reference","module":"@angular/cdk/tree","name":"CdkTreeModule","line":92,"character":4},{"__symbolic":"reference","module":"@angular/cdk/drag-drop","name":"DragDropModule","line":93,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatFormFieldModule","line":94,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatAutocompleteModule","line":95,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatBadgeModule","line":96,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatBottomSheetModule","line":97,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatButtonModule","line":98,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatButtonToggleModule","line":99,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatCardModule","line":100,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatCheckboxModule","line":101,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatChipsModule","line":102,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatStepperModule","line":103,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatDatepickerModule","line":104,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatDialogModule","line":105,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatDividerModule","line":106,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatExpansionModule","line":107,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatGridListModule","line":108,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatIconModule","line":109,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatInputModule","line":110,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatListModule","line":111,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatMenuModule","line":112,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatNativeDateModule","line":113,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatPaginatorModule","line":114,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatProgressBarModule","line":115,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatProgressSpinnerModule","line":116,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatRadioModule","line":117,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatRippleModule","line":118,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatSelectModule","line":119,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatSidenavModule","line":120,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatSliderModule","line":121,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatSlideToggleModule","line":122,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatSnackBarModule","line":123,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatSortModule","line":124,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatTableModule","line":125,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatTabsModule","line":126,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatToolbarModule","line":127,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatTooltipModule","line":128,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatTreeModule","line":129,"character":4},{"__symbolic":"reference","module":"@angular/cdk/portal","name":"PortalModule","line":130,"character":4},{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ScrollingModule","line":131,"character":4},{"__symbolic":"reference","module":"@angular/material-moment-adapter","name":"MatMomentDateModule","line":133,"character":4},{"__symbolic":"reference","module":"ngx-material-timepicker","name":"NgxMaterialTimepickerModule","line":135,"character":4}],"exports":[{"__symbolic":"reference","module":"ess-plugin-base","name":"I18NDirective","line":139,"character":4},{"__symbolic":"reference","module":"ess-plugin-base","name":"I18NPipe","line":141,"character":4},{"__symbolic":"reference","module":"ess-plugin-base","name":"I18NFieldPipe","line":141,"character":14},{"__symbolic":"reference","module":"@angular/cdk/a11y","name":"A11yModule","line":143,"character":4},{"__symbolic":"reference","module":"@angular/cdk/stepper","name":"CdkStepperModule","line":144,"character":4},{"__symbolic":"reference","module":"@angular/cdk/table","name":"CdkTableModule","line":145,"character":4},{"__symbolic":"reference","module":"@angular/cdk/tree","name":"CdkTreeModule","line":146,"character":4},{"__symbolic":"reference","module":"@angular/cdk/accordion","name":"CdkAccordionModule","line":147,"character":4},{"__symbolic":"reference","module":"@angular/cdk/overlay","name":"OverlayModule","line":148,"character":4},{"__symbolic":"reference","module":"@angular/cdk/drag-drop","name":"DragDropModule","line":150,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatFormFieldModule","line":151,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatAutocompleteModule","line":152,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatBadgeModule","line":153,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatBottomSheetModule","line":154,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatButtonModule","line":155,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatButtonToggleModule","line":156,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatCardModule","line":157,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatCheckboxModule","line":158,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatChipsModule","line":159,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatStepperModule","line":160,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatDatepickerModule","line":161,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatDialogModule","line":162,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatDividerModule","line":163,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatExpansionModule","line":164,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatGridListModule","line":165,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatIconModule","line":166,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatInputModule","line":167,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatListModule","line":168,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatMenuModule","line":169,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatNativeDateModule","line":170,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatPaginatorModule","line":171,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatProgressBarModule","line":172,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatProgressSpinnerModule","line":173,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatRadioModule","line":174,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatRippleModule","line":175,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatSelectModule","line":176,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatSidenavModule","line":177,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatSliderModule","line":178,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatSlideToggleModule","line":179,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatSnackBarModule","line":180,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatSortModule","line":181,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatTableModule","line":182,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatTabsModule","line":183,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatToolbarModule","line":184,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatTooltipModule","line":185,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatTreeModule","line":186,"character":4},{"__symbolic":"reference","module":"@angular/cdk/portal","name":"PortalModule","line":187,"character":4},{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ScrollingModule","line":188,"character":4},{"__symbolic":"reference","module":"@angular/material-moment-adapter","name":"MatMomentDateModule","line":190,"character":4},{"__symbolic":"reference","module":"ngx-material-timepicker","name":"NgxMaterialTimepickerModule","line":192,"character":4}],"providers":[{"provide":{"__symbolic":"reference","module":"@angular/material","name":"MAT_RIPPLE_GLOBAL_OPTIONS","line":195,"character":14},"useValue":{"disabled":false,"animation":{"enterDuration":300,"exitDuration":900}}},{"provide":{"__symbolic":"reference","module":"@angular/material","name":"DateAdapter","line":196,"character":14},"useClass":{"__symbolic":"reference","module":"@angular/material-moment-adapter","name":"MomentDateAdapter","line":196,"character":37}},{"provide":{"__symbolic":"reference","module":"@angular/material","name":"MAT_DATE_FORMATS","line":200,"character":14},"useValue":{"__symbolic":"reference","name":"MY_FORMATS"}}]}]}],"members":{}},"ImportPrimeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":38,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":40,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":41,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":42,"character":4},{"__symbolic":"reference","module":"primeng/table","name":"TableModule","line":44,"character":4},{"__symbolic":"reference","module":"primeng/button","name":"ButtonModule","line":45,"character":4},{"__symbolic":"reference","module":"primeng/checkbox","name":"CheckboxModule","line":46,"character":4},{"__symbolic":"reference","module":"primeng/dropdown","name":"DropdownModule","line":47,"character":4},{"__symbolic":"reference","module":"primeng/calendar","name":"CalendarModule","line":48,"character":4},{"__symbolic":"reference","module":"primeng/inplace","name":"InplaceModule","line":49,"character":4},{"__symbolic":"reference","module":"primeng/rating","name":"RatingModule","line":50,"character":4},{"__symbolic":"reference","module":"primeng/splitbutton","name":"SplitButtonModule","line":51,"character":4},{"__symbolic":"reference","module":"primeng/inputtext","name":"InputTextModule","line":52,"character":4},{"__symbolic":"reference","module":"primeng/inputmask","name":"InputMaskModule","line":54,"character":4},{"__symbolic":"reference","module":"primeng/multiselect","name":"MultiSelectModule","line":55,"character":4}],"declarations":[],"exports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":61,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":62,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":63,"character":4},{"__symbolic":"reference","module":"primeng/table","name":"TableModule","line":65,"character":4},{"__symbolic":"reference","module":"primeng/button","name":"ButtonModule","line":66,"character":4},{"__symbolic":"reference","module":"primeng/checkbox","name":"CheckboxModule","line":67,"character":4},{"__symbolic":"reference","module":"primeng/dropdown","name":"DropdownModule","line":68,"character":4},{"__symbolic":"reference","module":"primeng/calendar","name":"CalendarModule","line":69,"character":4},{"__symbolic":"reference","module":"primeng/inplace","name":"InplaceModule","line":70,"character":4},{"__symbolic":"reference","module":"primeng/rating","name":"RatingModule","line":71,"character":4},{"__symbolic":"reference","module":"primeng/splitbutton","name":"SplitButtonModule","line":72,"character":4},{"__symbolic":"reference","module":"primeng/inputtext","name":"InputTextModule","line":73,"character":4},{"__symbolic":"reference","module":"primeng/inputmask","name":"InputMaskModule","line":75,"character":4},{"__symbolic":"reference","module":"primeng/multiselect","name":"MultiSelectModule","line":76,"character":4}],"providers":[]}]}],"members":{}},"ToolsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":25,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ConfirmDialog"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":39,"character":8},{"__symbolic":"reference","name":"ImportMaterialModule"},{"__symbolic":"reference","name":"ImportPrimeModule"},{"__symbolic":"reference","module":"angular-resize-event","name":"AngularResizedEventModule","line":42,"character":8},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"ngx-timeago","name":"TimeagoModule","line":43,"character":8},"member":"forChild"}}],"exports":[{"__symbolic":"reference","module":"angular-resize-event","name":"AngularResizedEventModule","line":52,"character":8},{"__symbolic":"reference","module":"ngx-timeago","name":"TimeagoModule","line":53,"character":8},{"__symbolic":"reference","name":"ConfirmDialog"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"}],"providers":[{"__symbolic":"reference","name":"UIService"},{"__symbolic":"reference","name":"AvatarProvider"},{"__symbolic":"reference","name":"ExportProvider"},{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":68,"character":8},{"__symbolic":"reference","module":"@angular/common","name":"DecimalPipe","line":68,"character":18}],"entryComponents":[{"__symbolic":"reference","name":"ConfirmDialog"}]}]}],"members":{}},"ConfirmDialogData":{"__symbolic":"interface"},"ConfirmDialog":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"confirm-dialog","template":"<h2 mat-dialog-title *ngIf=\"data.title\">{{ data.title }}</h2>\n<mat-dialog-content>{{ data.message }}</mat-dialog-content>\n<mat-dialog-actions>\n  <button mat-raised-button [color]=\"'#00ff00'\" [mat-dialog-close]=\"true\">{{ data.yes }}</button>\n  <!-- The mat-dialog-close directive optionally accepts a value as a result for the dialog. -->\n  <button mat-button [mat-dialog-close]=\"null\">{{ data.no }}</button>\n</mat-dialog-actions>"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":17,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/material","name":"MAT_DIALOG_DATA","line":17,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"MatDialogRef","module":"@angular/material","arguments":[{"__symbolic":"reference","name":"ConfirmDialog"}]},{"__symbolic":"reference","name":"any"}]}]}},"ControlModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":22,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","name":"ɵn"},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵr"},{"__symbolic":"reference","name":"ɵs"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵu"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":29,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":31,"character":6},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":32,"character":6},{"__symbolic":"reference","name":"ImportMaterialModule"},{"__symbolic":"reference","name":"ImportPrimeModule"},{"__symbolic":"reference","module":"ngx-bootstrap-slider","name":"NgxBootstrapSliderModule","line":35,"character":6},{"__symbolic":"reference","name":"ToolsModule"},{"__symbolic":"reference","name":"ImportMaterialModule"}],"exports":[{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","name":"ɵn"},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵr"},{"__symbolic":"reference","name":"ɵs"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵu"}],"entryComponents":[{"__symbolic":"reference","name":"ɵq"}],"providers":[]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":52,"character":32}]}]}},"LayoutModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":16,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","name":"ImportMaterialModule"},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":19,"character":4}],"declarations":[{"__symbolic":"reference","name":"ɵv"},{"__symbolic":"reference","name":"ɵw"},{"__symbolic":"reference","name":"ɵx"},{"__symbolic":"reference","name":"ɵy"},{"__symbolic":"reference","name":"ɵz"},{"__symbolic":"reference","name":"ɵba"},{"__symbolic":"reference","name":"ɵbb"},{"__symbolic":"reference","name":"ɵbc"},{"__symbolic":"reference","name":"ɵbd"},{"__symbolic":"reference","name":"ɵbe"}],"exports":[{"__symbolic":"reference","name":"ɵv"},{"__symbolic":"reference","name":"ɵw"},{"__symbolic":"reference","name":"ɵx"},{"__symbolic":"reference","name":"ɵy"},{"__symbolic":"reference","name":"ɵz"},{"__symbolic":"reference","name":"ɵba"},{"__symbolic":"reference","name":"ɵbb"},{"__symbolic":"reference","name":"ɵbc"},{"__symbolic":"reference","name":"ɵbe"}],"entryComponents":[],"providers":[]}]}],"members":{}},"NavModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":9,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵbf"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":14,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":15,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":15,"character":21},{"__symbolic":"reference","name":"ToolsModule"},{"__symbolic":"reference","name":"ImportMaterialModule"}],"exports":[{"__symbolic":"reference","name":"ɵbf"}],"providers":[],"entryComponents":[{"__symbolic":"reference","name":"ɵbf"}]}]}],"members":{}},"EFormModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":12,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵbg"},{"__symbolic":"reference","name":"ɵbh"},{"__symbolic":"reference","name":"ɵbi"},{"__symbolic":"reference","name":"ɵbj"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":23,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":25,"character":6},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":26,"character":6},{"__symbolic":"reference","name":"ImportMaterialModule"},{"__symbolic":"reference","name":"ImportPrimeModule"},{"__symbolic":"reference","module":"ngx-bootstrap-slider","name":"NgxBootstrapSliderModule","line":29,"character":6}],"exports":[{"__symbolic":"reference","name":"ɵbg"},{"__symbolic":"reference","name":"ɵbh"},{"__symbolic":"reference","name":"ɵbi"},{"__symbolic":"reference","name":"ɵbj"}],"entryComponents":[{"__symbolic":"reference","name":"ɵbg"},{"__symbolic":"reference","name":"ɵbh"},{"__symbolic":"reference","name":"ɵbi"},{"__symbolic":"reference","name":"ɵbj"}],"providers":[]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":52,"character":32}]}]}},"FileModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":31,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"FileCard"},{"__symbolic":"reference","name":"FileLinker"},{"__symbolic":"reference","name":"FileLinkerUploadDirective"},{"__symbolic":"reference","name":"FileList"},{"__symbolic":"reference","name":"FileDialog"},{"__symbolic":"reference","name":"FileUploadDialog"},{"__symbolic":"reference","name":"FileDownloadProgress"},{"__symbolic":"reference","name":"FileShareDialog"},{"__symbolic":"reference","name":"FileTreeNode"},{"__symbolic":"reference","name":"FileTree"},{"__symbolic":"reference","name":"FileSearchbox"},{"__symbolic":"reference","name":"FileExplorer"},{"__symbolic":"reference","name":"FolderDialog"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":41,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":44,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":44,"character":21},{"__symbolic":"reference","name":"LayoutModule"},{"__symbolic":"reference","name":"ToolsModule"},{"__symbolic":"reference","name":"ImportMaterialModule"}],"exports":[{"__symbolic":"reference","name":"FileCard"},{"__symbolic":"reference","name":"FileLinker"},{"__symbolic":"reference","name":"FileLinkerUploadDirective"},{"__symbolic":"reference","name":"FileList"},{"__symbolic":"reference","name":"FileDialog"},{"__symbolic":"reference","name":"FileUploadDialog"},{"__symbolic":"reference","name":"FileDownloadProgress"},{"__symbolic":"reference","name":"FileShareDialog"},{"__symbolic":"reference","name":"FileTreeNode"},{"__symbolic":"reference","name":"FileTree"},{"__symbolic":"reference","name":"FileSearchbox"},{"__symbolic":"reference","name":"FileExplorer"},{"__symbolic":"reference","name":"FolderDialog"}],"providers":[{"__symbolic":"reference","name":"FileProvider"},{"provide":{"__symbolic":"reference","module":"@angular/common/http","name":"HTTP_INTERCEPTORS","line":66,"character":19},"useClass":{"__symbolic":"reference","module":"ess-plugin-base","name":"CloudSessionInterceptor","line":66,"character":48},"multi":true},{"provide":{"__symbolic":"reference","module":"@angular/common/http","name":"HTTP_INTERCEPTORS","line":67,"character":19},"useClass":{"__symbolic":"reference","module":"ess-plugin-base","name":"EncryptDecryptAuthInterceptor","line":67,"character":48},"multi":true}],"entryComponents":[{"__symbolic":"reference","name":"FileLinker"},{"__symbolic":"reference","name":"FileList"},{"__symbolic":"reference","name":"FileDialog"},{"__symbolic":"reference","name":"FileUploadDialog"},{"__symbolic":"reference","name":"FileShareDialog"},{"__symbolic":"reference","name":"FileTree"},{"__symbolic":"reference","name":"FileSearchbox"},{"__symbolic":"reference","name":"FileExplorer"},{"__symbolic":"reference","name":"FolderDialog"}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":79,"character":34},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":79,"character":58}]}],"loadSettings":[{"__symbolic":"method"}]}},"FileProvider":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":11,"character":30}]}],"getExtension":[{"__symbolic":"method"}],"getFolders":[{"__symbolic":"method"}],"getFileMetaData":[{"__symbolic":"method"}],"getFiles":[{"__symbolic":"method"}],"searchFiles":[{"__symbolic":"method"}],"getFolder":[{"__symbolic":"method"}],"newFolder":[{"__symbolic":"method"}],"rename":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"move":[{"__symbolic":"method"}],"share":[{"__symbolic":"method"}],"lookupUsers":[{"__symbolic":"method"}],"upload":[{"__symbolic":"method"}],"updateFile":[{"__symbolic":"method"}],"downloadBlob":[{"__symbolic":"method"}],"download":[{"__symbolic":"method"}],"writeContents":[{"__symbolic":"method"}],"downloadProgress":[{"__symbolic":"method"}]}},"TimeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵbk"},{"__symbolic":"reference","name":"ɵbl"},{"__symbolic":"reference","name":"ɵbn"},{"__symbolic":"reference","name":"ɵbo"},{"__symbolic":"reference","name":"ɵbp"},{"__symbolic":"reference","name":"ɵbq"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":25,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":26,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":26,"character":21},{"__symbolic":"reference","name":"ToolsModule"},{"__symbolic":"reference","name":"ImportMaterialModule"}],"exports":[{"__symbolic":"reference","name":"ɵbk"},{"__symbolic":"reference","name":"ɵbl"},{"__symbolic":"reference","name":"ɵbn"},{"__symbolic":"reference","name":"ɵbo"},{"__symbolic":"reference","name":"ɵbp"},{"__symbolic":"reference","name":"ɵbq"}],"providers":[{"__symbolic":"reference","name":"TimeProvider"}],"entryComponents":[{"__symbolic":"reference","name":"ɵbk"},{"__symbolic":"reference","name":"ɵbl"},{"__symbolic":"reference","name":"ɵbn"},{"__symbolic":"reference","name":"ɵbo"},{"__symbolic":"reference","name":"ɵbp"},{"__symbolic":"reference","name":"ɵbq"}]}]}],"members":{}},"TimeProvider":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":7,"character":30}]}],"getEvents":[{"__symbolic":"method"}],"getEventsDetailed":[{"__symbolic":"method"}],"saveEvent":[{"__symbolic":"method"}],"getTagsets":[{"__symbolic":"method"}]}},"TimeEvent":{"__symbolic":"class","members":{"read":[{"__symbolic":"method"}]}},"AvatarProvider":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":8,"character":30}]}]}},"ColumnDatatype":{"STRING":"string","NUMBER":"number","TEMPORAL":"temporal","BOOLEAN":"boolean","ENUM":"enum","CUSTOM":"custom"},"HorizontalCellAlign":{"LEFT":"left","RIGHT":"right","CENTER":"center"},"VerticalCellAlign":{"TOP":"top","MIDDLE":"middle","BOTTOM":"bottom"},"ColumnDef":{"__symbolic":"interface"},"FilterColumnDef":{"__symbolic":"interface"},"ExportProvider":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":46,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":51,"character":30}]}],"downloadPDF":[{"__symbolic":"method"}],"downloadExcel":[{"__symbolic":"method"}],"downloadDoc":[{"__symbolic":"method"}],"getDisplay":[{"__symbolic":"method"}],"getFontBase64":[{"__symbolic":"method"}],"writeContents":[{"__symbolic":"method"}],"isCharTashkeel":[{"__symbolic":"method"}],"replaceAllah":[{"__symbolic":"method"}],"stripTashkeel":[{"__symbolic":"method"}]}},"StoredFile":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":18,"character":23,"context":{"typeName":"Partial"},"module":"./model/file"}]}],"isDirectory":[{"__symbolic":"method"}],"read":[{"__symbolic":"method"}]}},"DataItem":{"__symbolic":"interface"},"Constants":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{},"statics":{"protocol":"https://","identityServer":"81.10.102.137:8000","fileServer":"81.10.102.137:8088","eventServer":"81.10.102.137:3000","nameServer":"81.10.102.137:8060","max_file_size":4,"httpOptions":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":30,"character":17},"arguments":[{"Content-Type":"application/json","$quoted$":["Content-Type"]}]},"withCredentials":true},"change":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"rxjs","name":"BehaviorSubject","line":36,"character":48},"arguments":[true]},"onChange":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Constants"},"member":"change"},"member":"asObservable"}}}},"FileCard":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"file-card","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":10,"character":19},"member":"Emulated"},"template":"<!-- <span matLine> -->\n\n<span class=\"info\">\n    <div *ngIf=\"up\" (click)=\"select(null)\">\n        <span>..</span>\n    </div>\n    \n        <!-- <button mat-icon-button matListIcon aria-label=\"Download\" (click)=\"download(file)\"> -->\n                <!-- <mat-icon matListIcon>get_app</mat-icon> -->\n                <!-- </button> -->\n    \n    <span class=\"file\" *ngIf=\"file\" (click)=\"select(file)\">\n        <span class=\"icon fiv-sqo fiv-icon-{{getExtension(file) || 'blank'}}\"></span>\n        <span class=\"name\">\n            {{ file.filename | longFileName: 40 }}\n        </span>\n\n        <span class=\"version\" *ngIf=\"file.version\">v.{{file.version}}</span>\n\n        <span class=\"size\" *ngIf=\"file.size\">{{file.size | number:'1.0-0' }} bytes</span>\n        <span class=\"size\" *ngIf=\"!file.size\"></span>\n        <span class=\"time\" *ngIf=\"file.lastmodified\">{{file.lastmodified | date:'d MMM y, h:mm a'}}</span>\n        <span class=\"time\" *ngIf=\"!file.lastmodified\"></span>\n    </span>\n\n    <mat-progress-bar class=\"download-progress\" *ngIf=\"downloading\" mode=\"determinate\" \n        [value]=\"progress\">\n    </mat-progress-bar>\n    \n    <mat-chip-list class=\"tags\" *ngIf=\"file && file.tags && file.tags.length\">\n            <mat-chip *ngFor=\"let tag of file.tags\" [innerHtml]=\"tag\"></mat-chip>\n    </mat-chip-list>    \n    \n    <div class=\"highlights\" *ngIf=\"file && file.highlights && file.highlights.length\">\n        <span *ngFor=\"let highlight of file.highlights\" [innerHtml]=\"highlight\"></span>\n    </div>\n\n    <div class=\"older\" [class.selected]=\"showing\" *ngIf=\"file && file.versions && file.versions.length\">\n        <!-- <file-card *ngFor=\"let old of file.versions\" [file]=\"old\"></file-card> -->\n        <span class=\"file\" *ngFor=\"let old of file.versions\" (click)=\"download(old)\">\n            <span class=\"version\" *ngIf=\"old.version\">v.{{old.version}}</span>\n    \n            <span class=\"size\" *ngIf=\"old.size\">{{old.size | number:'1.0-0' }} bytes</span>\n            <span class=\"size\" *ngIf=\"!old.size\"></span>\n            <span class=\"time\" *ngIf=\"old.lastmodified\">{{old.lastmodified | date:'d MMM y, h:mm a'}}</span>\n            <span class=\"time\" *ngIf=\"!old.lastmodified\"></span>\n            <!-- <button mat-icon-button aria-label=\"Download\"\n                    (click)=\"download(old)\"\n                    *ngIf=\"old.size > 0\">\n                <mat-icon>get_app</mat-icon>\n            </button> -->\n        </span>\n    </div>\n</span>    \n\n<span class=\"act\" *ngIf=\"file\">\n        <!-- <button mat-icon-button aria-label=\"Download\"\n                (click)=\"download(file)\"\n                *ngIf=\"file.size > 0\">\n            <mat-icon>get_app</mat-icon>\n        </button>\n        <button mat-icon-button aria-label=\"Edit\" \n                (click)=\"edit(file)\"        \n                *ngIf=\"file.guid && onOpen.observers.length == 0\">\n            <mat-icon>edit</mat-icon>\n        </button>\n        <button mat-icon-button aria-label=\"Edit\" \n                [matMenuTriggerFor]=\"fileCardMenu\"        \n                *ngIf=\"file.guid && onOpen.observers.length && onEdit.observers.length\">\n            <mat-icon>edit</mat-icon>\n        </button> -->\n        <!-- (click)=\"edit(file)\" -->\n\n        <!-- <a href=\"javascript:;\" class=\"filename\"  \n                [matMenuTriggerFor]=\"fileLinkMenu\">{{ file.filename }}</a> -->\n        <button mat-icon-button aria-label=\"More\" \n                [matMenuTriggerFor]=\"fileCardMenu\"        \n                *ngIf=\"file.guid\">\n            <mat-icon>more_vert</mat-icon>\n        </button>\n\n        <mat-menu #fileCardMenu=\"matMenu\">\n                <button mat-menu-item aria-label=\"Download\"\n                        (click)=\"download(file)\"\n                        *ngIf=\"file.size > 0\">\n                    <mat-icon>get_app</mat-icon> {{ i18n.get('file.download', 'Download') }}\n                </button>\n\n                <button mat-menu-item \n                        (click)=\"open(file)\" \n                        *ngIf=\"onOpen.observers.length\">\n                    <mat-icon>pageview</mat-icon> {{ i18n.get('file.open', 'Open') }}\n                </button>\n\n                <!--/*Nobel 2025-08-18 Shady Files*/-->\n                <button mat-menu-item aria-label=\"Rename\" \n                        (click)=\"edit(file)\"\n                        *ngIf=\"onEdit.observers.length && rename==true\">\n                    <mat-icon>edit</mat-icon> {{ i18n.get('file.rename', 'Rename') }}\n                </button>\n                \n                <button mat-menu-item aria-label=\"Delete\" \n                        (click)=\"delete(file)\"\n                        *ngIf=\"onDelete.observers.length && del==true\">\n                    <mat-icon>close</mat-icon> {{ i18n.get('file.delete', 'Delete') }}\n                </button>\n\n                <button mat-menu-item aria-label=\"Move to..\" \n                        (click)=\"move(file)\"\n                        *ngIf=\"onMove.observers.length && transfer==true\">\n                    <mat-icon>edit</mat-icon> {{ i18n.get('file.move', 'Move') }}\n                </button>\n\n                <button mat-menu-item aria-label=\"Share\" \n                        (click)=\"share(file)\"\n                        *ngIf=\"file.size > 0 && onShare.observers.length && shar==true\">\n                    <mat-icon>share</mat-icon> {{ i18n.get('file.share', 'Share') }}\n                </button>\n\n                <!-- <button mat-menu-item aria-label=\"Link\" \n                        (click)=\"link(file)\"\n                        *ngIf=\"file.size > 0 && onLink.observers.length\">\n                    <mat-icon>share</mat-icon> {{ i18n.get('file.link', 'Link') }}\n                </button> -->\n\n                <!-- <button mat-menu-item (click)=\"edit(file)\" *ngIf=\"onEdit.observers.length\">\n                    <mat-icon>edit</mat-icon> {{ i18n.get('file_edit', 'Edit') }}</button> -->\n                <!-- <button mat-menu-item (click)=\"download(file)\">\n                    <mat-icon>get_app</mat-icon> {{ i18n.get('file_download', 'Download') }}</button> -->\n                <!-- <button mat-menu-item (click)=\"deleteFile(file)\" *ngIf=\"canDelete\">\n                    <mat-icon>clear</mat-icon> {{ i18n.get('delete', 'Delete') }}</button>\n                <button mat-menu-item (click)=\"upload()\" *ngIf=\"canAdd\">\n                    <mat-icon>arrow_upward</mat-icon> {{ i18n.get('file_upload', 'Upload') }}</button> -->\n            </mat-menu>\n\n</span>\n\n\n\n\n    <!-- <div class=\"tags\" *ngIf=\"file && file.tags && file.tags.length\">\n    <mat-chip *ngFor=\"let tag of file.tags\" [innerHtml]=\"tag\"></mat-chip>\n    <span *ngFor=\"let tag of file.tags\" [innerHtml]=\"tag\"></span>\n</div> -->\n\n<!-- </span> -->\n","styles":[":host{display:flex;align-items:flex-start;min-height:2.5em}.info{flex:1}.file{display:flex;align-items:center;flex-wrap:wrap;margin:.5em 0;justify-content:space-between}.file .icon{flex:0;flex-basis:1.5rem;margin-right:.5rem}.file .name{flex:5}.file .version{font-size:small;margin-left:1rem}.file .size{font-size:small;margin-left:1rem;text-align:right}.file .time{font-size:small;margin-left:1rem;margin-right:.5rem}.highlights{font-size:smaller;display:flex;flex-direction:column;margin-top:.5em;color:rgba(0,0,0,.75)}.highlights span{margin-left:2rem;width:calc(100% - 2rem);word-wrap:break-word;overflow-wrap:break-word;white-space:normal}.highlights span em{background:#ffffe0;font-style:italic}.older>span{height:0;margin:0;overflow:hidden;transition:height .6s,background-color .3s}.older>span:last-of-type{margin-bottom:.5em}.older>span:hover{background:rgba(0,0,0,.15)}.older.selected>span{height:1.5em}mat-chip-list.tags mat-chip.mat-chip{font-size:x-small;min-height:2em}mat-chip-list.tags mat-chip.mat-chip:first-child{margin-left:2rem}::ng-deep .upload-progress .mat-progress-bar-buffer{background-color:#dcdcdc!important}/*! \n * File Icon Vectors 1.0 (https://github.com/dmhendricks/file-icon-vectors)\n * Copyright 2018 Daniel M. Hendricks (https://www.danhendricks.com)\n * Licensed under MIT (https://github.com/dmhendricks/file-icon-vectors/blob/master/LICENSE)\n */"]}]}],"members":{"file":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":5}}]}],"up":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":5}}]}],"onSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":20,"character":5},"arguments":["select"]}]}],"onEdit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":5},"arguments":["edit"]}]}],"onDelete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":5},"arguments":["delete"]}]}],"onMove":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":29,"character":5},"arguments":["move"]}]}],"onOpen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":32,"character":5},"arguments":["open"]}]}],"onShare":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":35,"character":5},"arguments":["share"]}]}],"rename":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":5}}]}],"del":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":5}}]}],"transfer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":5}}]}],"shar":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"FileProvider"},{"__symbolic":"reference","name":"UIService"},{"__symbolic":"reference","module":"ess-plugin-base","name":"I18N","line":58,"character":88}]}],"select":[{"__symbolic":"method"}],"download":[{"__symbolic":"method"}],"edit":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"move":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"share":[{"__symbolic":"method"}],"getExtension":[{"__symbolic":"method"}]}},"FileLinker":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"file-linker","template":"<!--/*Nobel 2025-08-12*/-->\n<input type=\"file\" #file style=\"display: none\" (change)=\"onFilesAdded()\" multiple [attr.accept]=\"accept\" />\n<div class=\"file-linker\" *ngIf=\"showButtons || showFiles\">\n    \n    <span class=\"files\" *ngIf=\"showFiles\">\n        <span *ngFor=\"let file of files\">\n            <a href=\"javascript:;\" class=\"filename\"  \n                [matMenuTriggerFor]=\"fileLinkMenu\">{{ file.filename | longFileName: maxNameLength }}</a>\n            <mat-menu #fileLinkMenu=\"matMenu\">\n                <button mat-menu-item (click)=\"open(file)\" *ngIf=\"onOpen.observers.length\">\n                    <mat-icon>pageview</mat-icon> {{ i18n.get('file.view', 'View') }}</button>\n                <button mat-menu-item (click)=\"edit(file)\" *ngIf=\"onEdit.observers.length\">\n                    <mat-icon>edit</mat-icon> {{ i18n.get('file.rename', 'Edit') }}</button>\n                <button mat-menu-item (click)=\"download(file)\">\n                    <mat-icon>get_app</mat-icon> {{ i18n.get('file.download', 'Download') }}</button>\n                <button mat-menu-item (click)=\"deleteFile(file)\" *ngIf=\"canDelete\">\n                    <mat-icon>clear</mat-icon> {{ i18n.get('file.delete', 'Delete') }}</button>\n                <button mat-menu-item (click)=\"upload(null)\" *ngIf=\"canAdd\">\n                    <mat-icon>arrow_upward</mat-icon> {{ i18n.get('file.upload', 'Upload') }}</button>\n            </mat-menu>\n        </span>\n    </span>\n    <span class=\"toolbar\" *ngIf=\"showButtons && canAdd\">\n            <button mat-button (click)=\"upload(null)\"><mat-icon>arrow_upward</mat-icon></button>\n    </span>\n</div>","styles":[".file-linker .filename{-webkit-margin-end:1em;margin-inline-end:1em;word-break:break-word}.files{display:flex;flex-direction:column}.toolbar{display:flex;flex-direction:row}"]}]}],"members":{"accept":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":5},"arguments":["accept"]}]}],"folder_id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":5},"arguments":["folder_id"]}]}],"path":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":5},"arguments":["path"]}]}],"resource":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":5},"arguments":["resource"]}]}],"files":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":5},"arguments":["files"]}]}],"titleText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":5},"arguments":["titleText"]}]}],"showFiles":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":5},"arguments":["showFiles"]}]}],"maxNameLength":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":5},"arguments":["maxNameLength"]}]}],"showButtons":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":5},"arguments":["showButtons"]}]}],"canAdd":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":5},"arguments":["canAdd"]}]}],"canDelete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":47,"character":5},"arguments":["canDelete"]}]}],"onOpen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":50,"character":5},"arguments":["onOpen"]}]}],"onEdit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":53,"character":5},"arguments":["onEdit"]}]}],"onUpload":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":56,"character":5},"arguments":["onUpload"]}]}],"onDownload":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":59,"character":5},"arguments":["onDownload"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"FileProvider"},{"__symbolic":"reference","module":"@angular/material","name":"MatDialog","line":64,"character":68},{"__symbolic":"reference","module":"ess-plugin-base","name":"I18N","line":65,"character":25},{"__symbolic":"reference","name":"UIService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"reload":[{"__symbolic":"method"}],"upload":[{"__symbolic":"method"}],"download":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"edit":[{"__symbolic":"method"}],"deleteFile":[{"__symbolic":"method"}],"onFilesAdded":[{"__symbolic":"method"}],"getExtension":[{"__symbolic":"method"}]}},"FileLinkerUploadDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":3,"character":1},"arguments":[{"selector":"a[fileLinker], button[fileLinker]","host":{"(click)":"onClick()","$quoted$":["(click)"]},"exportAs":"fileLinker"}]}],"members":{"fileLinker":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":5},"arguments":["fileLinker"]}]}],"onClick":[{"__symbolic":"method"}]}},"FileList":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"file-list","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":16,"character":19},"member":"Emulated"},"providers":[{"__symbolic":"reference","name":"FileProvider"}],"template":"<!-- <h1>Files \n    <a mat-button (click)=\"reload()\">Reload</a>\n</h1> -->\n<div class=\"toolbar\" *ngIf=\"toolbarVisible\">\n    <button mat-button (click)=\"reload()\"><mat-icon>refresh</mat-icon>{{ i18n.get('file.reload', 'Reload') }}</button>\n    <button mat-button (click)=\"enter(null)\" *ngIf=\"path && path.length\"><mat-icon>arrow_upward</mat-icon></button>\n    <span class=\"path\">{{path}}</span>\n    <button mat-button (click)=\"newFolder()\"><mat-icon>create_new_folder</mat-icon>{{ i18n.get('file.new_folder', 'New Folder') }}</button>\n    <button mat-button (click)=\"upload(null)\"><mat-icon>add</mat-icon>{{ i18n.get('file.upload', 'Upload') }}</button>\n</div>\n\n<div class=\"droper\">\n    <mat-nav-list class=\"scrollable a50-width acenter\" fileDrop (dropFiles)=\"dropFiles($event)\" dropClass=\"dropzone\">\n        <!-- [cols]=\"cols\" (window:resize)=\"onResize($event)\"> -->\n\n        <!--/*Nobel 2025-08-18 Shady Files*/-->\n        <mat-list-item *ngIf=\"path && path.length && (upLinkVisible && !toolbarVisible)\">\n            <file-card mat-list-item [up]=\"true\" (click)=\"enter(null)\" [rename]=\"rename\" [del]=\"del\" [transfer]=\"transfer\" [shar]=\"shar\"></file-card>\n        </mat-list-item>\n\n        <mat-list-item *ngFor=\"let folder of folders\" [hidden]=\"showFolders != true\">\n            <file-card [file]=\"folder\" (select)=\"enter(folder)\" (edit)=\"edit(folder)\" (delete)=\"delete(folder)\" (move)=\"move(folder)\" [rename]=\"rename\" [del]=\"del\" [transfer]=\"transfer\" [shar]=\"shar\"></file-card>\n        </mat-list-item>\n        \n        <mat-list-item *ngFor=\"let file of files\" (click)=\"previewFile(file)\">\n            <file-card [file]=\"file\" (select)=\"select(file)\" (edit)=\"edit(file)\" (delete)=\"delete(file)\" (move)=\"move(file)\" (share)=\"share(file)\" *ngIf=\"isMapped(file)\" (open)=\"open(file)\" [rename]=\"rename\" [del]=\"del\" [transfer]=\"transfer\" [shar]=\"shar\"></file-card>\n            <file-card [file]=\"file\" (select)=\"select(file)\" (edit)=\"edit(file)\" (delete)=\"delete(file)\" (move)=\"move(file)\" (share)=\"share(file)\" *ngIf=\"!isMapped(file)\" [rename]=\"rename\" [del]=\"del\" [transfer]=\"transfer\" [shar]=\"shar\"></file-card>\n        </mat-list-item>\n    </mat-nav-list>\n    <div class=\"a50-width acenter\" id=\"preview\">\n        \n    </div>\n</div>\n<div class=\"actions\">\n    <button mat-button mat-dialog-close (click)=\"cancel()\">\n        {{ i18n.get('cancel', 'Cancel') }}\n    </button>\n</div>\n","styles":[".toolbar{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:baseline;position:-webkit-sticky;position:sticky;top:0;background:0 0;z-index:1}.toolbar .path{margin-right:auto;font-weight:700}.toolbar a mat-icon,.toolbar button mat-icon{position:relative;top:-.1em;margin-right:.5em}mat-nav-list.scrollable{height:calc(100% - 2.5rem);overflow-y:auto}mat-list-item{height:auto!important}mat-list-item file-card{width:100%}.scrollable.dropzone{background-color:rgba(0,84,164,.2)!important}.droper{display:flex;flex-direction:row;align-items:flex-start;justify-content:flex-start;width:100%;height:90%}.a50-width{width:50%;height:100%}.acenter{display:flex;flex-direction:column;align-items:center;background:#f8f8ff;border-radius:15px}.actions{justify-content:flex-end}.actions .add-files-btn{margin-right:auto}"]}]}],"members":{"folder_id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":5}}]}],"path":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":5}}]}],"resource":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":5}}]}],"folders":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":5}}]}],"files":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5}}]}],"toolbarVisible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":5},"arguments":["toolbar-visible"]}]}],"upLinkVisible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":5},"arguments":["up-link-visible"]}]}],"fileTypes":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":5},"arguments":["fileTypes"]}]}],"rename":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":5}}]}],"del":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":5}}]}],"transfer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":5}}]}],"shar":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":5}}]}],"showFolders":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":5}}]}],"onOpen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":61,"character":5},"arguments":["open"]}]}],"onSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":64,"character":5},"arguments":["select"]}]}],"onChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":67,"character":5},"arguments":["change"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":83,"character":9}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":84,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":84,"character":21},"arguments":[{"__symbolic":"reference","module":"@angular/material","name":"MAT_DIALOG_DATA","line":84,"character":28}]}]],"parameters":[{"__symbolic":"reference","name":"FileProvider"},{"__symbolic":"reference","module":"@angular/material","name":"MatDialog","line":80,"character":24},{"__symbolic":"reference","name":"UIService"},{"__symbolic":"reference","module":"ess-plugin-base","name":"I18N","line":82,"character":21},{"__symbolic":"reference","name":"MatDialogRef","module":"@angular/material","arguments":[{"__symbolic":"reference","name":"FileList"}]},{"__symbolic":"reference","name":"any"}]}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"onResize":[{"__symbolic":"method"}],"reload":[{"__symbolic":"method"}],"notifyChange":[{"__symbolic":"method"}],"enter":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"isMapped":[{"__symbolic":"method"}],"edit":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"touch":[{"__symbolic":"method"}],"move":[{"__symbolic":"method"}],"share":[{"__symbolic":"method"}],"newFolder":[{"__symbolic":"method"}],"upload":[{"__symbolic":"method"}],"dropFiles":[{"__symbolic":"method"}],"previewFile":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}]}},"FileDialog":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":21,"character":1},"arguments":[{"selector":"file-dialog","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":25,"character":19},"member":"Emulated"},"template":"<h3 mat-dialog-title>{{ i18n.get(data.title, defaultTitle) }}</h3>\n\n<div mat-dialog-content>\n  <!-- <p *ngIf=\"data && data.path && data.path.length\">{{data.path}}</p> -->\n\n  <mat-form-field>\n    <input matInput cdkFocusInitial #input [value]=\"data.name\" [readonly]=\"!canRename\">\n    <!-- <input matInput cdkFocusInitial [(ngModel)]=\"data.name\"> -->\n  </mat-form-field>\n</div>\n\n<div mat-dialog-actions class=\"actions\">\n  <button mat-button (click)=\"close()\">{{ i18n.get('cancel', 'Cancel') }}</button>\n  <button mat-button (click)=\"delete()\" *ngIf=\"data && data.guid && canDelete\">{{ i18n.get('delete', 'Delete') }}</button>\n  <button mat-button (click)=\"save()\" *ngIf=\"canRename\">{{ i18n.get('save', 'Save') }}</button>\n  <!-- <button mat-button [mat-dialog-close]=\"data.path + '/' + data.name\">Save</button> -->\n</div>","styles":[":host{height:100%;display:flex;flex:1;flex-direction:column}body.arabic :host{direction:rtl}.actions{justify-content:flex-end}.mat-dialog-content{display:flex;flex-direction:column;flex:1}.mat-dialog-content *{flex:1}"]}]}],"members":{"input":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":29,"character":5},"arguments":["input",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":40,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/material","name":"MAT_DIALOG_DATA","line":40,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"MatDialogRef","module":"@angular/material","arguments":[{"__symbolic":"reference","name":"FileDialog"}]},{"__symbolic":"reference","module":"ess-plugin-base","name":"I18N","line":39,"character":73},{"__symbolic":"reference","name":"any"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"switchTitle":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}]}},"FileUploadDialog":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":21,"character":1},"arguments":[{"selector":"file-upload-dialog","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":25,"character":19},"member":"Emulated"},"template":"<div class=\"upload-container\" fileDrop (dropFiles)=\"dropFiles($event)\" dropClass=\"dropzone\" [dir]=\"(direction) ? 'rtl' : 'ltr'\"> \n    <!-- fxLayout=\"column\" fxLayoutAlign=\"space-evenly stretch\"> -->\n  <h4 mat-dialog-title>{{ data.titleText }}</h4>\n  <div>\n  </div>\n\n  <!-- This is the content of the dialog, containing a list of the files to upload -->\n  <mat-dialog-content>\n    <div class=\"droper\">\n      <mat-list class=\"a50-width\">\n        <mat-list-item *ngFor=\"let file of files\">\n          <div class=\"list-itemsx\">\n          <!--/*Nobel 2025-08-20*/-->\n          <button class=\"buttonsz\" mat-menu-item \n                        (click)=\"edit(file)\">\n              <mat-icon>edit</mat-icon>\n          </button>\n          \n          <button class=\"buttonsz\" mat-menu-item  \n                  (click)=\"delete(file)\">\n              <mat-icon>close</mat-icon>\n          </button>\n          <h4 mat-line (click)=\"previewFile(file)\">\n           {{file.filename || file.name}}\n          </h4>\n          </div>\n          <mat-progress-bar class=\"upload-progress\" *ngIf=\"progress\" mode=\"determinate\"\n            [value]=\"progress[file.name].progress | async\">\n          </mat-progress-bar>\n  \n        </mat-list-item>\n      </mat-list>\n      <div class=\"a50-width acenter\" id=\"preview\">\n        \n      </div>\n    </div>\n  </mat-dialog-content>\n\n  <!-- This are the actions of the dialog, containing the primary and the cancel button-->\n  <mat-dialog-actions class=\"actions\">\n    <button mat-raised-button color=\"primary\" class=\"add-files-btn\" \n            [disabled]=\"uploading || uploadSuccessful\" \n            (click)=\"file.click()\" cdkFocusInitial>\n        {{ i18n.get('file.add_files', 'Add Files') }}\n    </button>\n    <input type=\"file\" #file style=\"display: none\" (change)=\"onFilesAdded()\" multiple [attr.accept]=\"data.accept\" />\n    \n    <button *ngIf=\"showCancelButton\" mat-button mat-dialog-close (click)=\"cancel()\">\n      {{ i18n.get('cancel', 'Cancel') }}\n    </button>\n    \n    <button mat-raised-button color=\"primary\" [disabled]=\"(files.size == 0) || !canBeClosed\" (click)=\"takeAction()\">\n        {{ primaryButtonText }}\n    </button>\n  </mat-dialog-actions>\n</div>","styles":[":host{height:100%;display:flex;flex:1;flex-direction:column}.actions{justify-content:flex-end}.actions .add-files-btn{margin-right:auto}.droper{display:flex;flex-direction:row;align-items:flex-start;justify-content:flex-start;width:100%;height:100%}.a50-width{width:50%;height:100%}.acenter{display:flex;flex-direction:column;align-items:center;background:#f8f8ff;border-radius:15px}.upload-container{flex:1;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;max-height:100%;padding:0}.upload-container mat-list{flex:1;background-image:url(assets/images/icons/files.png);background-repeat:no-repeat;background-position:center;background-size:20% 20%}::ng-deep .upload-container .mat-list{padding-top:0!important}::ng-deep .upload-container .mat-list .mat-list-item-content{display:flex;flex-direction:column!important;padding:0 .5rem!important}.mat-dialog-title{margin:0 auto;font:inherit;font-size:1.5rem}.mat-dialog-content{display:flex;flex:1}.upload-container.dropzone{background-color:rgba(0,84,164,.2)!important;box-shadow:0 0 .5rem 1rem rgba(0,84,164,.2)!important}::ng-deep .upload-progress .mat-progress-bar-buffer{background-color:#dcdcdc!important}.list-itemsx{display:flex;flex-direction:row;padding:0 .5rem!important;align-items:center;justify-content:flex-end;font-size:smaller;width:100%;height:64px;justify-content:flex-start}.buttonsz{background:0 0;color:rgba(0,0,0,.87);width:47px;padding:0;text-align:center}"]}]}],"members":{"file":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":37,"character":5},"arguments":["file",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":49,"character":9}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":50,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":50,"character":21},"arguments":[{"__symbolic":"reference","module":"@angular/material","name":"MAT_DIALOG_DATA","line":50,"character":28}]}],null,null,null],"parameters":[{"__symbolic":"reference","module":"@angular/material","name":"MatDialog","line":48,"character":24},{"__symbolic":"reference","name":"MatDialogRef","module":"@angular/material","arguments":[{"__symbolic":"reference","name":"FileUploadDialog"}]},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"FileProvider"},{"__symbolic":"reference","name":"UIService"},{"__symbolic":"reference","module":"ess-plugin-base","name":"I18N","line":51,"character":79}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"onFilesAdded":[{"__symbolic":"method"}],"addFiles":[{"__symbolic":"method"}],"takeAction":[{"__symbolic":"method"}],"done":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"dropFiles":[{"__symbolic":"method"}],"previewFile":[{"__symbolic":"method"}],"previewTrueFile":[{"__symbolic":"method"}],"edit":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"touch":[{"__symbolic":"method"}],"randomUUID":[{"__symbolic":"method"}]}},"FileDownloadProgress":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"file-download-progress","template":"<span class=\"outer\">\n    <span class=\"inner\">\n        <span *ngIf=\"showIcon\" class=\"icon fiv-sqo fiv-icon-{{getExtension() || 'blank'}}\"></span>\n        <a class=\"filename\" href=\"javascript:;\" (click)=\"downloadFile()\"> {{ caption || filename }} </a>\n    </span>\n\n    <mat-progress-bar class=\"download-progress\" *ngIf=\"downloading\" mode=\"determinate\" \n        [value]=\"progress\">\n    </mat-progress-bar>\n</span>","styles":[".outer{display:flex;flex-direction:column}.outer .inner{display:flex;flex-direction:row}.outer .inner .icon{-webkit-margin-end:.5em;margin-inline-end:.5em;min-width:1em}.outer .inner .filename{max-width:calc(100% - 1em)}::ng-deep .upload-progress .mat-progress-bar-buffer{background-color:#dcdcdc!important}"]}]}],"members":{"filename":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":5},"arguments":["filename"]}]}],"guid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":5},"arguments":["guid"]}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":5},"arguments":["size"]}]}],"caption":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":5},"arguments":["caption"]}]}],"showIcon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":5},"arguments":["show-icon"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"FileProvider"},{"__symbolic":"reference","name":"UIService"},{"__symbolic":"reference","module":"ess-plugin-base","name":"I18N","line":31,"character":89}]}],"downloadFile":[{"__symbolic":"method"}],"getExtension":[{"__symbolic":"method"}]}},"FileShareDialog":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":19,"character":1},"arguments":[{"selector":"file-share-dialog","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":23,"character":19},"member":"Emulated"},"template":"<h3 mat-dialog-title>{{ data.title }}</h3>\n\n<div mat-dialog-content>\n  <!-- <p *ngIf=\"data && data.path && data.path.length\">{{data.path}}</p> -->\n\n  <mat-form-field> \n\n    <mat-chip-list id=\"sharewith\" #toChips aria-label=\"Share with..\">\n        <mat-chip *ngFor=\"let user of to_users\" [selectable]=\"true\"\n                 [removable]=\"true\" (removed)=\"remove(to_users, user)\">\n            {{ i18n.field(user, 'full_name') || user.username || user.email }}\n            <mat-icon matChipRemove>cancel</mat-icon>\n        </mat-chip>\n        <input #toUserInput [placeholder]=\"i18n.get('file.share_with', 'Share with..')\" \n              \n              [matTooltip]=\"'Type in recipient names or usernames'\"\n               [readonly]=\"null\"\n               [matChipInputFor]=\"toChips\"\n               [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\n               [matChipInputAddOnBlur]=\"true\"\n               (matChipInputTokenEnd)=\"add($event)\"\n               [formControl]=\"toUsersCtl\" \n               [matAutocomplete]=\"auto\" >\n      </mat-chip-list>\n      <!-- [accept]=\"'en, ar'\" -->\n\n      <mat-autocomplete #auto=\"matAutocomplete\" autoActiveFirstOption (optionSelected)=\"selected($event)\">\n          <mat-option *ngIf=\"isLoading\" class=\"is-loading\">Loading...</mat-option>\n          <ng-container *ngIf=\"!isLoading\">\n            <mat-option *ngFor=\"let user of filteredTo\" [value]=\"user\">\n              <span><b>{{ user | i18n_field: 'full_name' }}</b> ({{user.username || user.email}})</span>\n            </mat-option>\n          </ng-container>\n      </mat-autocomplete>\n\n  </mat-form-field>\n\n  <!-- <mat-form-field>\n    <input matInput cdkFocusInitial #input [value]=\"data.name\">\n  </mat-form-field> -->\n</div>\n\n<div mat-dialog-actions class=\"actions\">\n  <button mat-button (click)=\"copyLink()\" class=\"start\">{{ i18n.get('file.copy_link', 'Copy Link') }}</button>\n\n  <button mat-button (click)=\"close()\">{{ i18n.get('cancel', 'Cancel') }}</button>\n  <button mat-button (click)=\"save()\">{{ i18n.get('file.share', 'Share') }}</button>\n</div>","styles":[":host{height:100%;display:flex;flex:1;flex-direction:column}h3{margin-bottom:1rem}.mat-form-field{padding-top:1rem}#sharewith .mat-chip{flex:unset}.actions{justify-content:flex-end}.actions .start{-webkit-margin-end:auto;margin-inline-end:auto}.mat-dialog-content{display:flex;flex-direction:column;flex:1}.mat-dialog-content *{flex:1}"]}]}],"members":{"toUserInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":27,"character":5},"arguments":["toUserInput",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":48,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/material","name":"MAT_DIALOG_DATA","line":48,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"MatDialogRef","module":"@angular/material","arguments":[{"__symbolic":"reference","name":"FileShareDialog"}]},{"__symbolic":"reference","module":"ess-plugin-base","name":"I18N","line":45,"character":78},{"__symbolic":"reference","name":"UIService"},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":46,"character":47},{"__symbolic":"reference","name":"FileProvider"},{"__symbolic":"reference","name":"any"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"selected":[{"__symbolic":"method"}],"copyLink":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}]}},"FileTreeNode":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"file-tree-node","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":9,"character":19},"member":"Emulated"},"providers":[{"__symbolic":"reference","name":"FileProvider"}],"animations":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger","line":12,"character":8},"arguments":["AnimateChildren",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":13,"character":12},"arguments":[":enter",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":14,"character":16},"arguments":[{"opacity":0,"transform":"scaleY(0)"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":15,"character":16},"arguments":[300,{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":15,"character":29},"arguments":[{"opacity":1,"transform":"scaleY(1)"}]}]}]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":17,"character":12},"arguments":[":leave",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":18,"character":16},"arguments":[{"opacity":1,"transform":"scaleY(1)"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":19,"character":16},"arguments":[300,{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":19,"character":29},"arguments":[{"opacity":0,"transform":"scaleY(0)"}]}]}]]}]]}],"template":"<span class=\"node\" [ngStyle]=\"{'padding-left': (indent * 1) + 'em'}\"\n        [class.selected]=\"selected_id == folder.id\">\n    \n    <button mat-icon-button [ngClass]=\"{open: isOpen}\" *ngIf=\"folders\"\n        (click)=\"toggle()\">\n        <mat-icon>chevron_right</mat-icon>\n    </button>\n    \n    <!-- <button mat-icon-button [style.visibility]=\"'hidden'\" *ngIf=\"!folders || !folders.length\"></button> -->\n\n    <span class=\"icon fiv-sqo fiv-icon-folder\"></span>\n    <span class=\"filename\" (click)=\"select(folder)\">{{folder.filename}}</span>\n</span>\n\n<!-- [ngStyle]=\"{'margin-left': (indent * 2) + 'em'}\" -->\n<span class=\"children\" \n        *ngIf=\"isOpen && folder && folders.length\" [@AnimateChildren]>\n    <file-tree-node *ngFor=\"let child of folders\" \n        [folder]=\"child\" [resource]=\"resource\" [indent]=\"indent + 1\"\n        [disabled_id]=\"disabled_id\"\n        [disabled]=\"disabled || folder.id == disabled_id\"\n        [selected_id]=\"selected_id\"\n        (select)=\"childSelected($event)\">\n    </file-tree-node>\n</span>","styles":[":host{display:flex;flex-direction:column;align-items:flex-start;justify-items:stretch;width:100%}button[mat-icon-button]{transition:transform .3s ease-out}button[mat-icon-button].open{transform:rotateZ(90deg)}.node{display:flex;flex-direction:row;align-items:center;width:100%;min-height:2em}.node:hover{background:rgba(0,0,0,.04)}.node.selected{font-weight:700;background:rgba(0,0,0,.04)}.icon{flex:0;flex-basis:1.5em;-webkit-margin-end:.5em;margin-inline-end:.5em}.filename{cursor:pointer}.children{display:flex;flex-direction:column;width:100%;transition-property:transform,opacity;transition-duration:.3s;transition-timing-function:ease-out;transform-origin:top}"]}]}],"members":{"onSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":5},"arguments":["select"]}]}],"folders":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":5}}]}],"indent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":5}}]}],"resource":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":5}}]}],"selected_id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":5}}]}],"disabled_id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":5}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":5}}]}],"folder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"FileProvider"}]}],"ngOnInit":[{"__symbolic":"method"}],"reload":[{"__symbolic":"method"}],"toggle":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"childSelected":[{"__symbolic":"method"}]}},"FileTree":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"file-tree","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":8,"character":19},"member":"Emulated"},"providers":[{"__symbolic":"reference","name":"FileProvider"}],"template":"    <mat-list class=\"file-tree\">\n        <mat-list-item *ngFor=\"let folder of folders\">\n            <file-tree-node [folder]=\"folder\" [resource]=\"resource\"\n                    [disabled_id]=\"disabled_id\"\n                    [disabled]=\"disabled || disabled_id == folder.id\"\n                    [selected_id]=\"selected_id\"\n                    (select)=\"select($event)\"></file-tree-node>\n        </mat-list-item>\n    </mat-list>\n\n    <!-- <mat-tree>\n        <mat-tree-node *matTreeNodeDef=\"let node\" matTreeNodePadding>\n            <button mat-icon-button disabled></button>\n                {{node.name}}\n        </mat-tree-node>\n            \n        <mat-tree-node *matTreeNodeDef=\"let node; when: hasChild\" matTreeNodePadding>\n            <button mat-icon-button matTreeNodeToggle\n                    [attr.aria-label]=\"'toggle ' + node.name\">\n                <mat-icon class=\"mat-icon-rtl-mirror\">\n                    {{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}\n                </mat-icon>\n            </button>\n            {{node.name}}\n        </mat-tree-node>\n\n    </mat-tree> -->","styles":["body.arabic :host{direction:ltr}.file-tree mat-list-item{height:auto!important;min-height:2em}::ng-deep .file-tree.mat-list .mat-list-item .mat-list-item-content{padding:0}:host{overflow-x:hidden;overflow-y:auto}"]}]}],"members":{"onSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":13,"character":5},"arguments":["select"]}]}],"folders":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":5}}]}],"resource":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":5}}]}],"selected_id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":5}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":5}}]}],"disabled_id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"FileProvider"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"reload":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}]}},"FileSearchbox":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"file-searchbox","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":11,"character":19},"member":"Emulated"},"providers":[{"__symbolic":"reference","name":"FileProvider"}],"template":"<mat-form-field floatLabel=\"never\">\n    <a mat-icon-button matPrefix>\n        <mat-icon>search</mat-icon>\n    </a>\n    <!-- <mat-icon matPrefix>search</mat-icon> -->\n    \n    <input matInput id=\"search-input\" type=\"text\" placeholder=\"{{ i18n.get('file_search_prompt', 'Search files..') }}\"\n            [(ngModel)]=\"phrase\" (ngModelChange)='searchFor($event)' />\n\n    <mat-select matSuffix [(value)]=\"mode\" (selectionChange)=\"doSearch(phrase)\">\n        <mat-option [value]=\"'filename'\">\n            {{ i18n.get('file.search.by_name', 'By file name') }}\n        </mat-option>\n        <mat-option [value]=\"'content'\">\n            {{ i18n.get('file.search.by_content', 'By content') }}\n        </mat-option>\n    </mat-select>        \n    <!-- <a matSuffix mat-button class=\"md-icon-button\" (click)=\"search()\">\n        Go\n    </a> -->\n</mat-form-field>\n\n<mat-chip-list class=\"suggest\" *ngIf=\"suggestVisible && suggestions && suggestions.length\">\n    {{ i18n.get('file.search.suggestions', 'Did you mean:') }}&nbsp;\n    <mat-chip class=\"suggested\" *ngFor=\"let suggested of suggestions\" (click)=\"doSearch(suggested)\">{{suggested}}</mat-chip>\n</mat-chip-list>","styles":["mat-form-field{width:100%}mat-form-field .mat-form-field-infix{border-top-width:.5em}mat-form-field ::ng-deep .mat-form-field-wrapper{padding-bottom:0!important}mat-form-field ::ng-deep .mat-form-field-underline{bottom:0!important}.suggest{font-size:small;display:flex;padding:.3em .3em .3em .6em}.suggest .suggested{margin-right:1em}mat-chip-list.suggest{font-size:small}mat-chip-list.suggest mat-chip.mat-chip{font-size:x-small;min-height:2em}"]}]}],"members":{"suggestVisible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":5},"arguments":["suggest-visible"]}]}],"success":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":21,"character":5},"arguments":["success"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"FileProvider"},{"__symbolic":"reference","module":"ess-plugin-base","name":"I18N","line":36,"character":65}]}],"searchFor":[{"__symbolic":"method"}],"doSearch":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}]}},"FileExplorer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"file-explorer","template":"<file-searchbox #searchBox class=\"file-searchbox\" *ngIf=\"showSearchBar\" \n        (success)=\"searchResults($event)\">\n</file-searchbox>\n\n<split-panes #splitPanes class=\"explorer\" *ngIf=\"showFolderTree\">\n    <div first>\n        <file-tree #fileTree\n            [resource]=\"resource\" \n            (select)=\"folderSelected($event)\"></file-tree>\n    </div>\n\n    <div second>\n        <file-list \n            [resource]=\"resource\" [folder_id]=\"selected_folder_id\" \n            [path]=\"path\" [folders]=\"folders\" [files]=\"files\"\n            [fileTypes]=\"fileTypes\" (select)=\"select($event)\" (change)=\"treeChanged($event)\" (open)=\"open($event)\">\n        </file-list>\n    </div>\n</split-panes>\n\n<file-list #splitPanes *ngIf=\"!showFolderTree\" \n        [resource]=\"resource\" [folder_id]=\"selected_folder_id\" \n        [path]=\"path\" [folders]=\"folders\" [files]=\"files\"\n        [fileTypes]=\"fileTypes\" (select)=\"select($event)\" (change)=\"treeChanged($event)\" (open)=\"open($event)\">\n</file-list>\n\n<!-- <div class=\"explorer\">\n    <file-tree [resource]=\"'Sameh'\" (select)=\"folderSelected($event)\"></file-tree>\n\n   <file-list [resource]=\"'Sameh'\" [folder_id]=\"selected_folder_id\" [path]=\"path\" [folders]=\"folders\" [files]=\"files\"></file-list>\n</div> -->","styles":[":host{direction:ltr;display:flex;flex-direction:column;height:100%}file-searchbox{z-index:2!important}div[first]{display:flex;flex-direction:column}div[first] file-tree,file-list{flex:1}split-panes.explorer{flex:1;height:calc(100% - 3rem)}::ng-deep .explorer .first{overflow-y:auto}"]}]}],"members":{"showSearchBar":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":5},"arguments":["show-searchbar"]}]}],"showFolderTree":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":5},"arguments":["show-folder-tree"]}]}],"resource":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":5},"arguments":["resource"]}]}],"fileTypes":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":5},"arguments":["fileTypes"]}]}],"onOpen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":5},"arguments":["open"]}]}],"onSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":5},"arguments":["select"]}]}],"searchBox":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":29,"character":5},"arguments":["searchBox",{"static":false}]}]}],"fileTree":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":32,"character":5},"arguments":["fileTree",{"static":false,"read":{"__symbolic":"reference","name":"FileTree"}}]}]}],"splitPanes":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":35,"character":5},"arguments":["splitPanes",{"static":false}]}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"searchResults":[{"__symbolic":"method"}],"folderSelected":[{"__symbolic":"method"}],"treeChanged":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}]}},"FolderDialog":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"folder-dialog","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":15,"character":19},"member":"Emulated"},"template":"<!-- <h3 mat-dialog-title>{{ i18n.get(data.title, defaultTitle) }}</h3> -->\n\n<div mat-dialog-content>\n  <!-- <p *ngIf=\"data && data.path && data.path.length\">{{data.path}}</p> -->\n\n  <div class=\"folders\">\n    <a mat-button class=\"root\" (click)=\"folderSelected(null)\">Root</a>\n    <file-tree class=\"tree\" [resource]=\"resource || data.resource\" \n          [disabled_id]=\"data.disabled_id\"\n          [selected_id]=\"selected?.id\"\n          (select)=\"folderSelected($event)\"></file-tree>\n  </div>\n\n  <div class=\"actions\">\n    <h3 mat-dialog-title>{{ i18n.get(data.title, defaultTitle) }}</h3>\n\n    <button mat-button (click)=\"save()\">{{ i18n.get('save', 'Save') }}</button>\n    <button mat-button (click)=\"close()\">{{ i18n.get('cancel', 'Cancel') }}</button>\n  </div>\n\n</div>\n\n<!-- <div mat-dialog-actions class=\"actions\" *ngIf=\"false\">\n  <button mat-button (click)=\"close()\">{{ i18n.get('cancel', 'Cancel') }}</button>\n  <button mat-button (click)=\"delete()\" *ngIf=\"data && data.guid && canDelete\">{{ i18n.get('delete', 'Delete') }}</button>\n  <button mat-button (click)=\"save()\" *ngIf=\"canRename\">{{ i18n.get('save', 'Save') }}</button>\n</div> -->","styles":[":host{height:100%;display:flex;flex:1;flex-direction:column}body.arabic :host{direction:ltr}.mat-dialog-content{height:70vh;max-height:70vh;min-height:12rem;display:flex;flex-direction:row;flex:1}.mat-dialog-content .folders{flex:3;overflow-y:auto;display:flex;flex-direction:column}.mat-dialog-content .folders .root{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.mat-dialog-content .folders .tree{flex:1}.mat-dialog-content .actions{flex:1;display:flex;flex-direction:column;align-items:stretch;-webkit-margin-start:.5rem;margin-inline-start:.5rem}.mat-dialog-content .actions h3{margin-bottom:auto}"]}]}],"members":{"resource":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":5},"arguments":["resource"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":35,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/material","name":"MAT_DIALOG_DATA","line":35,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"MatDialogRef","module":"@angular/material","arguments":[{"__symbolic":"reference","name":"FolderDialog"}]},{"__symbolic":"reference","module":"ess-plugin-base","name":"I18N","line":34,"character":75},{"__symbolic":"reference","name":"any"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"switchTitle":[{"__symbolic":"method"}],"folderSelected":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}]}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"ess-datatable","template":"<p-table #dt [columns]=\"selectedColumns\" [value]=\"data\" \n      [reorderableColumns]=\"settings.can.orderColumns || true\" [resizableColumns]=\"settings.can.resizeColumns || true\" \n      [paginator]=\"!!settings.pageSize\" [rows]=\"pageSize\"\n      [scrollable]=\"false\" [frozenColumns]=\"frozenCols\"\n      editMode=\"row\" [dataKey]=\"'__id'\"\n      (onSort)=\"onSort()\" (onFilter)=\"onFilter($event)\">\n\n  <ng-template pTemplate=\"caption\">\n    <div class=\"table-tools\">\n        <i class=\"pi pi-search\" *ngIf=\"settings.can.search\" style=\"margin:4px 4px 0 0\"></i>\n        <input type=\"text\" pInputText  *ngIf=\"settings.can.search && !settings.searchOnline\"\n                size=\"25\" placeholder=\"Search..\" (input)=\"dt.filterGlobal($event.target.value, 'contains')\">\n\n        <input type=\"text\" pInputText  *ngIf=\"settings.can.search && settings.searchOnline\"\n                size=\"25\" placeholder=\"Search..\" [(ngModel)]=\"phrase\" (input)=\"search()\">\n\n        <!-- <p-multiSelect *ngIf=\"settings.can.toggleColumns\" [options]=\"cols\" [(ngModel)]=\"selectedColumns\" optionLabel=\"header\"\n                selectedItemsLabel=\"{0} columns selected\" [style]=\"{minWidth: '200px'}\" placeholder=\"Choose Columns\"></p-multiSelect> -->\n\n        <p-multiSelect *ngIf=\"settings.can.toggleColumns\" [options]=\"cols\" optionLabel=\"header\"\n                [(ngModel)]=\"groupCols\" (ngModelChange)=\"updateGroupMap($event)\" \n                selectedItemsLabel=\"groupCols?[0]?.header\" [style]=\"{minWidth: '200px'}\" placeholder=\"Group by\">\n        </p-multiSelect>\n\n        <p-multiSelect *ngIf=\"settings.can.toggleColumns\" [options]=\"cols\" optionLabel=\"header\"\n                [(ngModel)]=\"selectedColumns\" \n                selectedItemsLabel=\"{0} columns selected\" [style]=\"{minWidth: '200px'}\" placeholder=\"Choose Columns\">\n        </p-multiSelect>\n    \n        <button type=\"button\" pButton \n                *ngIf=\"settings.can.insert\"\n                icon=\"pi pi-plus\" iconPos=\"left\" (click)=\"addRow()\" \n                style=\"margin-inline-end: 0.5em;\" class=\"ui-button-primary\">\n        </button>\n        <!-- <button type=\"button\" pButton icon=\"pi pi-file-o\" iconPos=\"left\" label=\"CSV\" (click)=\"exportCSV()\" style=\"margin-inline-end: 0.5em;\"></button> -->\n        <!-- <button type=\"button\" pButton icon=\"pi pi-file-o\" iconPos=\"left\" label=\"CSV\" (click)=\"dt.exportCSV()\" style=\"margin-inline-end: 0.5em;\"></button> -->\n\n        <button type=\"button\" pButton *ngIf=\"settings.can.exportXls\" \n                icon=\"pi pi-file-excel\" iconPos=\"left\" label=\"EXCEL\" \n                (click)=\"exportExcel()\" style=\"margin-inline-end: 0.5em;\" class=\"ui-button-success\"></button>\n\n        <button type=\"button\" pButton *ngIf=\"settings.can.exportPdf\" \n                icon=\"pi pi-file-pdf\" iconPos=\"left\" label=\"PDF\" \n                (click)=\"exportPdf()\" class=\"ui-button-warning\"></button>\n    </div>\n  </ng-template>\n\n  <ng-template pTemplate=\"header\" let-columns>\n      <tr>\n          <th style=\"width:2.5em\" *ngIf=\"settings.can.orderRows\"></th>\n          <th *ngFor=\"let col of columns\" pReorderableColumn pResizableColumn\n                    [pSortableColumn]=\"col.field\" \n                    [pReorderableColumnDisabled]=\"col.datatype && col.datatype != 'string'\">\n              <div>\n                  <span class=\"header\">{{ col.header }}</span>\n                  <p-sortIcon *ngIf=\"col.datatype != 'enum'\" [field]=\"col.field\" ariaLabel=\"Activate to sort\" ariaLabelDesc=\"Activate to sort in descending order\" ariaLabelAsc=\"Activate to sort in ascending order\"></p-sortIcon>\n              </div>\n          </th>\n          <th style=\"width:7.5em\" *ngIf=\"settings.can.update || settings.can.delete\"></th>\n      </tr>\n  </ng-template>\n\n  <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\" let-index=\"rowIndex\" let-editing=\"editing\">\n\n        <tr class=\"ui-widget-header\" *ngIf=\"groupMap && groupMap['' + index]\">\n            <td [attr.colspan]=\"selectedColumns.length\" class=\"row-header\">\n                <span class=\"row-head-text\" *ngFor=\"let head of groupMap['' + index]\">\n                    <mat-icon>chevron_right</mat-icon>{{ head }}\n                </span>\n                <!-- {{ rowData[groupCol.field] }} -->\n                <!-- <span class=\"p-text-bold p-ml-2\">{{ rowData[groupCol.field] }}</span> -->\n            </td>\n        </tr>\n\n        <tr [pReorderableRow]=\"index\" [pEditableRow]=\"rowData\">\n          <td *ngIf=\"settings.can.orderRows\">\n              <i class=\"pi pi-bars\" style=\"display: flex;justify-content: center;\" pReorderableRowHandle></i>\n          </td>\n          <td *ngFor=\"let col of columns\" class=\"ui-resizable-column\">\n              <p-cellEditor>\n\n                <ng-template pTemplate=\"input\" *ngIf=\"col.datatype == 'custom' && col.template\">\n                    <ng-container *ngTemplateOutlet=\"col.template; context: {item: rowData}\">\n                    </ng-container>\n                </ng-template>\n\n                <ng-template pTemplate=\"input\" *ngIf=\"!col.datatype || col.datatype == 'string'\">\n                    <input pInputText autofocus type=\"text\" [(ngModel)]=\"rowData[col.field]\">\n                </ng-template>\n                <ng-template pTemplate=\"input\" *ngIf=\"col.datatype == 'number'\">\n                    <input pInputText autofocus type=\"number\" [(ngModel)]=\"rowData[col.field]\">\n                </ng-template>\n                <ng-template pTemplate=\"input\" *ngIf=\"col.datatype == 'temporal'\">\n                    <p-calendar [(ngModel)]=\"rowData[col.field]\" dateFormat=\"d MM yy\"\n                        [style]=\"{'width':'100%', 'min-width': '20px'}\"></p-calendar>\n                </ng-template>\n                <ng-template pTemplate=\"input\" *ngIf=\"col.datatype == 'boolean'\">\n                    <p-checkbox value=\"1\" [binary]=\"true\" [(ngModel)]=\"rowData[col.field]\" [style]=\"{'font-size': '12px'}\"></p-checkbox>\n                </ng-template>\n                <ng-template pTemplate=\"input\" *ngIf=\"col.datatype == 'enum'\">\n                    <p-dropdown [options]=\"col.enum\" [(ngModel)]=\"rowData[(col.field)]\"\n                        optionLabel=\"name\" \n                        [showClear]=\"true\" [autoDisplayFirst]=\"false\"\n                        [style]=\"{'width':'100%', 'min-width': '20px'}\"></p-dropdown>\n                    <!-- <p-dropdown [options]=\"col.enum\" [ngModel]=\"rowData[col.field]\" (ngModelChange)=\"selectEnum(col.field, $event)\"\n                        optionLabel=\"name\" \n                        optionValue=\"value\"\n                        [showClear]=\"true\" [autoDisplayFirst]=\"false\"\n                        [style]=\"{'width':'100%', 'min-width': '20px'}\"></p-dropdown> -->\n                </ng-template>\n\n                <ng-template pTemplate=\"output\" *ngIf=\"col.datatype == 'custom' && col.template\">\n                    <!-- <ng-template #estimateTemplate let-lessonsCounter=\"estimate\">\n                        <div> Approximately {{lessonsCounter}} lessons ...</div>\n                    </ng-template> -->\n                    <ng-container *ngTemplateOutlet=\"col.template; context: {item: rowData}\">\n                    </ng-container>\n                </ng-template>\n                \n                <ng-template pTemplate=\"output\" *ngIf=\"!col.datatype || col.datatype == 'string'\">\n                    {{ rowData[col.field] }}\n                </ng-template>\n                <ng-template pTemplate=\"output\" *ngIf=\"col.datatype == 'number'\">\n                    {{ rowData[col.field] | number: '1.0-4' }}\n                </ng-template>\n                <ng-template pTemplate=\"output\" *ngIf=\"col.datatype == 'temporal'\">\n                    <ng-container *ngIf=\"rowData[col.field]\">{{ rowData[col.field] | date: 'd MMM yyyy' }}</ng-container>\n                </ng-template>\n                <ng-template pTemplate=\"output\" *ngIf=\"col.datatype == 'boolean'\">\n                    {{ rowData[col.field]? 'Yes' : '' }}  \n                </ng-template>\n                <ng-template pTemplate=\"output\" *ngIf=\"col.datatype == 'enum'\">\n                    {{ rowData[col.field]?.name }}\n                </ng-template>\n            </p-cellEditor>\n          </td>\n          <td class=\"actions\" *ngIf=\"settings.can.update || settings.can.delete\">\n            <div>\n                <button *ngIf=\"!editing && settings.can.update\" pButton type=\"button\" pInitEditableRow icon=\"pi pi-pencil\" class=\"ui-button-info\" (click)=\"onRowEditInit(rowData)\"></button>\n                <button *ngIf=\"!editing && settings.can.delete\" pButton type=\"button\" icon=\"pi pi-minus\" class=\"ui-button-danger\" style=\"margin-inline-start: .5em\" (click)=\"onRowDelete(rowData, index)\"></button>\n\n                <button *ngIf=\"editing\" pButton type=\"button\" pSaveEditableRow icon=\"pi pi-check\" class=\"ui-button-success\" (click)=\"onRowEditSave(rowData)\"></button>\n                <button *ngIf=\"editing\" pButton type=\"button\" pCancelEditableRow icon=\"pi pi-times\" class=\"ui-button-danger\" style=\"margin-inline-start: .5em\" (click)=\"onRowEditCancel(rowData, index)\"></button>\n            </div>\n          </td>\n      </tr>\n  </ng-template>\n</p-table>","styles":[".table-tools{display:flex;flex-direction:row;flex-wrap:wrap}.table-tools input{width:auto;-webkit-margin-end:auto;margin-inline-end:auto}::ng-deep .pi.ui-clickable{font-size:12px!important;font-weight:700}::ng-deep .pi.ui-chkbox-icon.pi-check::before{vertical-align:middle}::ng-deep p-dropdown{width:100%;max-width:100%;min-width:unset}::ng-deep p-dropdown .ui-dropdown-label-container{width:100%}::ng-deep p-table div.ui-table-wrapper{overflow:visible!important}::ng-deep p-table td{overflow:visible!important}::ng-deep p-table td p-celleditor input,::ng-deep p-table td p-celleditor p-dropdown{width:100%;max-width:100%;min-width:unset}::ng-deep p-table td.actions>div{display:flex;justify-content:flex-end;flex-wrap:wrap}::ng-deep p-table td.actions button.ui-button.pi{font-size:12px!important;font-weight:700}::ng-deep p-table th>div{display:flex}::ng-deep p-table th>div .header{flex:1}::ng-deep p-table th>div p-sorticon i.ui-sortable-column-icon{font-size:small}:host ::ng-deep .ui-table .ui-table-thead>tr>th{position:-webkit-sticky;position:sticky;box-shadow:1px 3px 6px 0 rgba(32,33,36,.1)}:host ::ng-deep .p-datatable .p-datatable-thead>tr>th{position:-webkit-sticky;position:sticky;top:0}:host ::ng-deep .ui-table.ui-widget .ui-table-thead>tr>th{border:none;border-bottom:1px solid #c8c8c8}:host ::ng-deep .ui-table.ui-widget .ui-table-tbody>tr>td{border:none;border-bottom:1px solid #dcdcdc}:host ::ng-deep .ui-table.ui-widget input.ui-inputtext{background:0 0;border:none;border-radius:0;border-bottom:1px solid gray;padding:.5em 0}:host ::ng-deep .ui-table.ui-widget .ui-dropdown{background:0 0;border:none;border-radius:0;border-bottom:1px solid gray;padding:.5em 0}:host ::ng-deep .ui-table.ui-widget .ui-dropdown .ui-inputtext{background:0 0;border:none;border-radius:0;padding:0}:host ::ng-deep .ui-table.ui-widget .ui-paginator{border:none;background:0 0;padding:.5em}"]}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":5},"arguments":["data"]}]}],"settings":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":5},"arguments":["settings"]}]}],"onSearch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":74,"character":5},"arguments":["onSearch"]}]}],"onSave":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":83,"character":5},"arguments":["onSave"]}]}],"onDelete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":89,"character":5},"arguments":["onDelete"]}]}],"newItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":97,"character":5},"arguments":["newItem"]}]}],"isValid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":105,"character":5},"arguments":["isValid"]}]}],"cols":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":123,"character":5},"arguments":["cols"]}]}],"frozenCols":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":131,"character":5},"arguments":["frozenCols"]}]}],"groupCols":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":139,"character":5},"arguments":["group"]}]}],"dt":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":149,"character":5},"arguments":["dt",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ExportProvider"},{"__symbolic":"reference","name":"UIService"},{"__symbolic":"reference","module":"ess-plugin-base","name":"I18N","line":154,"character":20}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"search":[{"__symbolic":"method"}],"changePhrase":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"addSaved":[{"__symbolic":"method"}],"addCancelled":[{"__symbolic":"method"}],"hideDialog":[{"__symbolic":"method"}],"onSort":[{"__symbolic":"method"}],"onFilter":[{"__symbolic":"method"}],"updateGroupMap":[{"__symbolic":"method"}],"addRow":[{"__symbolic":"method"}],"onRowEditInit":[{"__symbolic":"method"}],"onRowEditSave":[{"__symbolic":"method"}],"onRowEditCancel":[{"__symbolic":"method"}],"onRowDelete":[{"__symbolic":"method"}],"exportPdf":[{"__symbolic":"method"}],"exportExcel":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"img[avatar]","host":{"(onerror)":"onError()","$quoted$":["(onerror)"]},"exportAs":"AvatarDirective"}]}],"members":{"avatar":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":5},"arguments":["avatar"]}]}],"username":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":5},"arguments":["username"]}]}],"color":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":5},"arguments":["color"]}]}],"background":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":5},"arguments":["background"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":26,"character":28},{"__symbolic":"reference","name":"AvatarProvider"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"onError":[{"__symbolic":"method"}],"getAvatar":[{"__symbolic":"method"}],"getAvatarOnError":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"input[accept], textarea[accept]","host":{"(keydown)":"onKeyDown($event)","$quoted$":["(keydown)"]},"exportAs":"acceptInput"}]}],"members":{"accept":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":6},"arguments":["accept"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":32,"character":29}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"getRestrictions":[{"__symbolic":"method"}],"showTooltip":[{"__symbolic":"method"}],"onKeyDown":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":17,"character":3},"arguments":[{"selector":"[fileDrop]","exportAs":"FileDropDirective"}]}],"members":{"dropClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":5},"arguments":["dropClass"]}]}],"dropFiles":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":5},"arguments":["dropFiles"]}]}],"background":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":29,"character":5},"arguments":["style.background"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":35,"character":35},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":35,"character":67},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":35,"character":99}]}],"showState":[{"__symbolic":"method"}],"onDragOver":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":50,"character":5},"arguments":["dragover",["$event"]]}]}],"onDragLeave":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":56,"character":5},"arguments":["dragleave",["$event"]]}]}],"onDrop":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":62,"character":5},"arguments":["drop",["$event"]]}]}]}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":11,"character":1},"arguments":[{"name":"longFileName"}]}],"members":{"transform":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"time-label","template":"<span *ngIf=\"time\">{{ (formattedTime)? formattedTime : time | timeago }}</span>"}]}],"members":{"time":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":5},"arguments":["time"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":24,"character":34}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"applyFormat":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"res-link","template":"<a class=\"link\" [matMenuTriggerFor]=\"menu\" (menuOpened)=\"loadItems()\">\n    <ng-content></ng-content>\n</a>\n\n<mat-menu #menu=\"matMenu\" [class]=\"'resource-context'\" [overlapTrigger]=\"false\">\n    <ng-template matMenuContent>\n        <button mat-menu-item *ngFor=\"let item of menu_items\" (click)=\"run(item)\">\n            <mat-icon *ngIf=\"item.icon\">{{ item.icon }}</mat-icon>\n            <span *ngIf=\"item.i18n\">{{ item.caption | i18n: item.i18n }}</span>\n            <span *ngIf=\"!item.i18n\">{{ item.caption }}</span>\n        </button>      \n    </ng-template>\n</mat-menu>","styles":["::ng-deep .resource-context{min-height:unset}::ng-deep .resource-context .mat-menu-content{padding:0}::ng-deep body.arabic .resource-context .mat-menu-content mat-icon{margin:0;-webkit-margin-start:.5rem;margin-inline-start:.5rem}"]}]}],"members":{"namespace":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":5},"arguments":["ns"]}]}],"res":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":5},"arguments":["res"]}]}],"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":5},"arguments":["data"]}]}],"prefetch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":5},"arguments":["prefetch"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":35,"character":30},{"__symbolic":"reference","module":"ess-plugin-base","name":"I18N","line":35,"character":56},{"__symbolic":"reference","module":"ess-plugin-base","name":"SessionProvider","line":36,"character":29}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"loadItems":[{"__symbolic":"method"}],"localize":[{"__symbolic":"method"}],"run":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":17,"character":1},"arguments":[{"selector":"styled-span","template":"<span #span [style.display]=\"'flex'\" [style.flexDirection]=\"'row'\" [style.alignItems]=\"'center'\">\n    <mat-icon #icon [ngStyle]=\"style? style.icon_styles : ''\" [style.display]=\"(style && style.icon)? 'inline' : 'none'\">\n        {{ style.icon }}\n    </mat-icon>\n    <span #text [ngStyle]=\"style? style.text_styles : ''\" [style.flex]=\"1\">\n        <ng-content></ng-content>\n    </span>\n</span>"}]}],"members":{"style":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":5},"arguments":["style"]}]}],"span":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":46,"character":5},"arguments":["span",{"static":true}]}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":49,"character":5},"arguments":["icon",{"static":true}]}]}],"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":52,"character":5},"arguments":["text",{"static":true}]}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"apply":[{"__symbolic":"method"}]}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"input-string","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":10,"character":19},"useExisting":{"__symbolic":"reference","name":"ɵi"},"multi":true}],"template":"<mat-form-field *ngIf=\"!hidden\"\n            [class.withHint]=\"hint && hint.length\">\n    <input matInput *ngIf=\"!rows || rows == 1\"\n                    [ngModel]=\"value\" (ngModelChange)=\"changeValue($event)\"\n                    [errorStateMatcher]=\"errorMatcher\"\n                    [type]=\"input_type || 'text'\"\n                    autocomplete=\"off\"\n                    [name]=\"name\" \n                    [required]=\"required\"\n                    [disabled]=\"disabled\"\n                    [readonly]=\"readonly\" \n                    [placeholder]=\"label\"\n                    [accept]=\"accept || ''\">\n                    <!-- [formControl]=\"control\"  \n                     -->\n\n    <textarea matInput *ngIf=\"rows > 1\"\n            [ngModel]=\"value\" (ngModelChange)=\"changeValue($event)\"\n            [errorStateMatcher]=\"errorMatcher\"\n            autocomplete=\"off\"\n            [name]=\"name\" \n            [required]=\"required\"\n            [disabled]=\"disabled\"\n            [readonly]=\"readonly\" \n            [placeholder]=\"label\"\n            [accept]=\"accept || ''\">\n    </textarea>\n\n    <span matPrefix>\n        <ng-content  select=\"[prefix]\"></ng-content>\n    </span>\n    <span matSuffix>\n        <ng-content  select=\"[suffix]\"></ng-content>\n    </span>\n    \n    <mat-hint *ngIf=\"hint && hint.length && !error\" align=\"end\">{{ hint }}</mat-hint>\n    <mat-error *ngIf=\"error && error.length\" align=\"end\">{{ errorMessage || error }}</mat-error>\n    <!-- <mat-error *ngIf=\"control.invalid\" align=\"end\">{{ errorMessage || 'Invalid value' }}</mat-error> -->\n</mat-form-field>\n","styles":["body.arabic .mat-form-field{direction:rtl}.mat-form-field{width:100%}.mat-form-field.withHint{margin-bottom:1rem}mat-slider,mv-slider{width:100%}.spaced-end{-webkit-margin-end:.5rem;margin-inline-end:.5rem}"]}]}],"members":{"name":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":5},"arguments":["name"]}]}],"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":5},"arguments":["label"]}]}],"hint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":5},"arguments":["hint"]}]}],"errorMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":5},"arguments":["error-message"]}]}],"required":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5},"arguments":["required"]}]}],"hidden":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":5},"arguments":["hidden"]}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":5},"arguments":["disabled"]}]}],"readonly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":5},"arguments":["readonly"]}]}],"input_type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":5},"arguments":["type"]}]}],"rows":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":5},"arguments":["rows"]}]}],"validator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":5},"arguments":["validator"]}]}],"accept":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":5},"arguments":["accept"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":61,"character":33}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"changeValue":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}]}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"input-number","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":10,"character":19},"useExisting":{"__symbolic":"reference","name":"ɵj"},"multi":true}],"template":"<ng-container *ngIf=\"!hidden\">\n\n    <mat-form-field *ngIf=\"!hidden && mode == 'input'\"\n                [class.withHint]=\"hint && hint.length\">\n        <input matInput \n                        [ngModel]=\"value\" (ngModelChange)=\"changeValue($event)\"\n                        [errorStateMatcher]=\"errorMatcher\"\n                        type=\"number\"\n                        autocomplete=\"off\"\n                        [name]=\"name\" \n                        min=\"{{ valueMin }}\"\n                        max=\"{{ valueMax }}\"\n                        step=\"{{ valueStep }}\"\n                        [required]=\"required\"\n                        [disabled]=\"disabled\"\n                        [readonly]=\"readonly\" \n                        [placeholder]=\"label\">\n                        <!-- [formControl]=\"control\"  \n                        -->\n\n        <span matPrefix>\n            <ng-content  select=\"[prefix]\"></ng-content>\n        </span>\n        <span matSuffix>\n            <ng-content  select=\"[suffix]\"></ng-content>\n        </span>\n        \n        <mat-hint *ngIf=\"hint && hint.length && !error\" align=\"end\">{{ hint }}</mat-hint>\n        <mat-error *ngIf=\"error && error.length\" align=\"end\">{{ errorMessage || error }}</mat-error>\n        <!-- <mat-error *ngIf=\"control.invalid\" align=\"end\">{{ errorMessage || 'Invalid value' }}</mat-error> -->\n    </mat-form-field>\n\n    <mat-label *ngIf=\"mode != 'input' && label && label.length\">{{ label }}</mat-label>\n\n    <mat-slider *ngIf=\"mode == 'slider'\"\n            [(ngModel)]=\"value\" (ngModelChange)=\"changeValue($event)\"\n            [max]=\"valueMax\"\n            [min]=\"valueMin\"\n            [step]=\"valueStep\"\n            [thumbLabel]=\"true\"\n            [tickInterval]=\"tickStep / valueStep\">\n    </mat-slider>\n\n    <mv-slider *ngIf=\"mode == 'steps'\" \n            [(value)]=\"value\" (change)=\"changeValue($event)\"\n            [ticks]=\"ticks\"\n            [ticksLabels]=\"labels\"\n            [ticksPositions]=\"positions\"\n            lockToTicks=\"true\"\n            [ticksSnapBounds]=\"1000000\">\n            <!-- style=\"font-size: x-small\"\n            (change)=\"apply($event)\"> -->\n    </mv-slider>\n\n</ng-container>","styles":["body.arabic .mat-form-field{direction:rtl}.mat-form-field{width:100%}.mat-form-field.withHint{margin-bottom:1rem}mat-slider,mv-slider{width:100%}.spaced-end{-webkit-margin-end:.5rem;margin-inline-end:.5rem}"]}]}],"members":{"name":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":5},"arguments":["name"]}]}],"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":5},"arguments":["label"]}]}],"hint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":5},"arguments":["hint"]}]}],"errorMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":5},"arguments":["error-message"]}]}],"required":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5},"arguments":["required"]}]}],"hidden":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":5},"arguments":["hidden"]}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":5},"arguments":["disabled"]}]}],"readonly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":5},"arguments":["readonly"]}]}],"validator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":5},"arguments":["validator"]}]}],"valueMin":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":5}}]}],"valueMax":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":5}}]}],"valueStep":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":56,"character":5}}]}],"tickStep":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":59,"character":5}}]}],"ticks":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":62,"character":5}}]}],"labels":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":65,"character":5}}]}],"positions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":68,"character":5}}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"getMode":[{"__symbolic":"method"}],"changeValue":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}]}},"ɵk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"input-chips","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":15,"character":19},"useExisting":{"__symbolic":"reference","name":"ɵk"},"multi":true}],"template":"<mat-form-field *ngIf=\"!hidden\"\n        [class.withHint]=\"hint && hint.length\">\n    <!-- <mat-label *ngIf=\"values && values.length > 0\">{{ label }}</mat-label> -->\n    \n    <mat-chip-list #chips aria-label=\"Label\"             \n          [multiple]=\"multiple\">\n          \n      <mat-chip *ngFor=\"let item of values\" \n            [selectable]=\"!readonly\" \n            [removable]=\"!readonly\"\n            (removed)=\"remove(values, item)\">\n            {{ item.name }}\n            <mat-icon matChipRemove>cancel</mat-icon>\n      </mat-chip>\n\n      <input #chipInput [placeholder]=\"label\" \n            [readonly]=\"readonly\"\n            [matChipInputFor]=\"chips\" \n            [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\n            [matChipInputAddOnBlur]=\"true\" \n            (matChipInputTokenEnd)=\"restart($event)\" \n            [formControl]=\"chipInputCtl\"\n            [matAutocomplete]=\"autoComplete\">\n    </mat-chip-list>\n\n    <mat-autocomplete #autoComplete=\"matAutocomplete\" autoActiveFirstOption (optionSelected)=\"selectedItem($event)\">\n      <mat-option *ngIf=\"isLoading\" class=\"is-loading\">Loading...</mat-option>\n      <ng-container *ngIf=\"!isLoading\">\n        <mat-option *ngFor=\"let item of filtered\" [value]=\"item\">\n          <span><b>{{ item.name }}</b></span>\n        </mat-option>\n      </ng-container>\n    </mat-autocomplete>\n\n    <span matPrefix>\n      <ng-content  select=\"[prefix]\"></ng-content>\n    </span>\n    <span matSuffix>\n        <ng-content  select=\"[suffix]\"></ng-content>\n    </span>\n\n    <mat-hint *ngIf=\"hint && hint.length && !error\" align=\"end\">{{ hint }}</mat-hint>\n    <mat-error *ngIf=\"error && error.length\" align=\"end\">{{ errorMessage || error }}</mat-error>\n\n</mat-form-field>\n\n\n<!--mat-form-field *ngIf=\"!hidden\"\n            [class.withHint]=\"hint && hint.length\">\n    <input matInput [ngModel]=\"value\" (ngModelChange)=\"changeValue($event)\"\n                    [errorStateMatcher]=\"errorMatcher\"\n                    type=\"text\"\n                    autocomplete=\"off\"\n                    [name]=\"name\" \n                    [required]=\"required\"\n                    [disabled]=\"disabled\"\n                    [readonly]=\"readonly\" \n                    [placeholder]=\"label\">\n\n    <span matPrefix>\n        <ng-content  select=\"[prefix]\"></ng-content>\n    </span>\n    <span matSuffix>\n        <ng-content  select=\"[suffix]\"></ng-content>\n    </span>\n    \n    <mat-hint *ngIf=\"hint && hint.length && !error\" align=\"end\">{{ hint }}</mat-hint>\n    <mat-error *ngIf=\"error && error.length\" align=\"end\">{{ errorMessage || error }}</mat-error>\n</mat-form-field -->\n","styles":["body.arabic .mat-form-field{direction:rtl}.mat-form-field{width:100%}.mat-form-field.withHint{margin-bottom:1rem}mat-slider,mv-slider{width:100%}.spaced-end{-webkit-margin-end:.5rem;margin-inline-end:.5rem}"]}]}],"members":{"multiple":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":5},"arguments":["multiple"]}]}],"values":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":5},"arguments":["values"]}]}],"lookup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":5},"arguments":["lookup"]}]}],"chipInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":39,"character":5},"arguments":["chipInput",{"static":true}]}]}],"searchFunc":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":5},"arguments":["search-function"]}]}],"name":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":5},"arguments":["name"]}]}],"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":5},"arguments":["label"]}]}],"hint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":56,"character":5},"arguments":["hint"]}]}],"errorMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":59,"character":5},"arguments":["error-message"]}]}],"required":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":62,"character":5},"arguments":["required"]}]}],"hidden":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":65,"character":5},"arguments":["hidden"]}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":68,"character":5},"arguments":["disabled"]}]}],"readonly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":71,"character":5},"arguments":["readonly"]}]}],"validator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":5},"arguments":["validator"]}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"selectedItem":[{"__symbolic":"method"}],"restart":[{"__symbolic":"method"}],"searchInner":[{"__symbolic":"method"}]}},"ɵl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"input-select","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":11,"character":19},"useExisting":{"__symbolic":"reference","name":"ɵl"},"multi":true}],"template":"<mat-form-field *ngIf=\"!hidden\"\n            [class.withHint]=\"hint && hint.length\">\n\n        <mat-label>{{ label }}</mat-label>\n        <mat-select [(ngModel)]=\"selected\" (ngModelChange)=\"changeSelected($event)\"\n                        [disabled]=\"disabled\">\n            <mat-select-trigger>\n                {{ selected? selected['name'] : '' }}\n            </mat-select-trigger>\n\n            <!-- <mat-option [value]=\"null\"></mat-option> -->\n            <mat-option *ngFor=\"let item of (lookup || [])\" [value]=\"item\">\n                {{ item.name || item }}\n            </mat-option>\n        </mat-select>\n\n        <!-- <input matInput [ngModel]=\"value\" (ngModelChange)=\"changeValue($event)\"\n                    [errorStateMatcher]=\"errorMatcher\"\n                    type=\"text\"\n                    autocomplete=\"off\"\n                    [name]=\"name\" \n                    [required]=\"required\"\n                    [disabled]=\"disabled\"\n                    [readonly]=\"readonly\" \n                    [placeholder]=\"label\"> -->\n                    <!-- [formControl]=\"control\"  \n                     -->\n\n    <span matPrefix>\n        <ng-content  select=\"[prefix]\"></ng-content>\n    </span>\n    <span matSuffix>\n        <ng-content  select=\"[suffix]\"></ng-content>\n    </span>\n\n    <mat-hint *ngIf=\"hint && (!error || error.length == 0)\" align=\"end\">{{ hint }}</mat-hint>\n\n    <mat-hint *ngIf=\"error && error.length > 0\"\n        [class.mat-hint]=\"null\" [class.mat-error]=\"true\" align=\"end\">{{ errorMessage || error }}</mat-hint>\n        \n    <!-- <mat-hint *ngIf=\"hint && hint.length && !error\" align=\"end\">{{ hint }}</mat-hint> -->\n    <!-- <mat-error *ngIf=\"error && error.length\" align=\"end\">{{ errorMessage || error }}</mat-error> -->\n    <!-- <mat-error *ngIf=\"errorMatcher.isErrorState(null, null)\" align=\"end\">{{ errorMessage || error }}</mat-error> -->\n    <!-- <mat-error *ngIf=\"control.invalid\" align=\"end\">{{ errorMessage || 'Invalid value' }}</mat-error> -->\n</mat-form-field>\n","styles":["body.arabic .mat-form-field{direction:rtl}.mat-form-field{width:100%}.mat-form-field.withHint{margin-bottom:1rem}mat-slider,mv-slider{width:100%}.spaced-end{-webkit-margin-end:.5rem;margin-inline-end:.5rem}"]}]}],"members":{"lookup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":5},"arguments":["lookup"]}]}],"key":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":5},"arguments":["key"]}]}],"expression":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":5},"arguments":["expression"]}]}],"name":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5},"arguments":["name"]}]}],"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":5},"arguments":["label"]}]}],"hint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":5},"arguments":["hint"]}]}],"errorMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":5},"arguments":["error-message"]}]}],"required":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":5},"arguments":["required"]}]}],"hidden":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":5},"arguments":["hidden"]}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":5},"arguments":["disabled"]}]}],"readonly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":5},"arguments":["readonly"]}]}],"validator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":5},"arguments":["validator"]}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"findItem":[{"__symbolic":"method"}],"changeSelected":[{"__symbolic":"method"}],"changeValue":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}]}},"ɵm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"input-boolean","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":10,"character":19},"useExisting":{"__symbolic":"reference","name":"ɵm"},"multi":true}],"template":"<mat-checkbox *ngIf=\"!hidden\" \n        [(ngModel)]=\"value\"\n        (ngModelChange)=\"changeValue($event)\"\n        [disabled]=\"disabled || readonly\">\n        {{ label }}\n</mat-checkbox>\n\n<!-- <mat-form-field *ngIf=\"!hidden\"\n            [class.withHint]=\"hint && hint.length\">\n    <input matInput [ngModel]=\"value\" (ngModelChange)=\"changeValue($event)\"\n                    [errorStateMatcher]=\"errorMatcher\"\n                    type=\"text\"\n                    autocomplete=\"off\"\n                    [name]=\"name\" \n                    [required]=\"required\"\n                    [disabled]=\"disabled\"\n                    [readonly]=\"readonly\" \n                    [placeholder]=\"label\">\n\n    <span matPrefix>\n        <ng-content  select=\"[prefix]\"></ng-content>\n    </span>\n    <span matSuffix>\n        <ng-content  select=\"[suffix]\"></ng-content>\n    </span>\n    \n    <mat-hint *ngIf=\"hint && hint.length && !error\" align=\"end\">{{ hint }}</mat-hint>\n    <mat-error *ngIf=\"error && error.length\" align=\"end\">{{ errorMessage || error }}</mat-error>\n</mat-form-field> -->\n","styles":["body.arabic .mat-form-field{direction:rtl}.mat-form-field{width:100%}.mat-form-field.withHint{margin-bottom:1rem}mat-slider,mv-slider{width:100%}.spaced-end{-webkit-margin-end:.5rem;margin-inline-end:.5rem}"]}]}],"members":{"name":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":5},"arguments":["name"]}]}],"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":5},"arguments":["label"]}]}],"hint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":5},"arguments":["hint"]}]}],"errorMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":5},"arguments":["error-message"]}]}],"required":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5},"arguments":["required"]}]}],"hidden":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":5},"arguments":["hidden"]}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":5},"arguments":["disabled"]}]}],"readonly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":5},"arguments":["readonly"]}]}],"validator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":5},"arguments":["validator"]}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"changeValue":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}]}},"ɵn":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"input-date","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":11,"character":19},"useExisting":{"__symbolic":"reference","name":"ɵn"},"multi":true}],"template":"<mat-form-field *ngIf=\"!hidden && !disabled && !readonly\"\n        (click)=\"datePicker.open()\">\n    <input matInput [(ngModel)]=\"date\" (ngModelChange)=\"setDate($event)\" (keypress)=\"datePicker.open()\" \n                    autocomplete=\"off\"\n                    [matDatepicker]=\"datePicker\"\n                    [disabled]=\"disabled\" \n                    [readonly]=\"readonly\" \n                    [placeholder]=\"label\"\n                    [min]=\"min\"\n                    [max]=\"max\">\n\n    <mat-datepicker-toggle matSuffix [for]=\"datePicker\"></mat-datepicker-toggle>\n    <mat-datepicker #datePicker></mat-datepicker>\n\n    <span matPrefix>\n        <ng-content  select=\"[prefix]\"></ng-content>\n    </span>\n    <span matSuffix>\n        <ng-content  select=\"[suffix]\"></ng-content>\n    </span>\n    \n    <mat-hint *ngIf=\"hint && hint.length && !error\" align=\"end\">{{ hint }}</mat-hint>\n    <mat-error *ngIf=\"error && error.length\" align=\"end\">{{ errorMessage || error }}</mat-error>\n\n</mat-form-field>\n\n<mat-form-field *ngIf=\"!hidden && (disabled || readonly)\">\n    <input matInput [(ngModel)]=\"date\" (ngModelChange)=\"setDate($event)\" \n                    autocomplete=\"off\"\n                    [disabled]=\"disabled\" \n                    [readonly]=\"readonly\" \n                    [placeholder]=\"label\">\n\n    <span matPrefix>\n        <ng-content  select=\"[prefix]\"></ng-content>\n    </span>\n    <span matSuffix>\n        <ng-content  select=\"[suffix]\"></ng-content>\n    </span>\n    \n    <mat-hint *ngIf=\"hint && hint.length && !error\" align=\"end\">{{ hint }}</mat-hint>\n    <mat-error *ngIf=\"error && error.length\" align=\"end\">{{ errorMessage || error }}</mat-error>\n\n</mat-form-field>\n\n<!-- <mat-form-field *ngIf=\"!hidden\"\n            [class.withHint]=\"hint && hint.length\">\n    <input matInput [ngModel]=\"value\" (ngModelChange)=\"changeValue($event)\"\n                    [errorStateMatcher]=\"errorMatcher\"\n                    type=\"text\"\n                    autocomplete=\"off\"\n                    [name]=\"name\" \n                    [required]=\"required\"\n                    [disabled]=\"disabled\"\n                    [readonly]=\"readonly\" \n                    [placeholder]=\"label\">\n\n    <span matPrefix>\n        <ng-content  select=\"[prefix]\"></ng-content>\n    </span>\n    <span matSuffix>\n        <ng-content  select=\"[suffix]\"></ng-content>\n    </span>\n    \n    <mat-hint *ngIf=\"hint && hint.length && !error\" align=\"end\">{{ hint }}</mat-hint>\n    <mat-error *ngIf=\"error && error.length\" align=\"end\">{{ errorMessage || error }}</mat-error>\n</mat-form-field> -->\n","styles":["body.arabic .mat-form-field{direction:rtl}.mat-form-field{width:100%}.mat-form-field.withHint{margin-bottom:1rem}mat-slider,mv-slider{width:100%}.spaced-end{-webkit-margin-end:.5rem;margin-inline-end:.5rem}"]}]}],"members":{"name":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":5},"arguments":["name"]}]}],"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":5},"arguments":["label"]}]}],"hint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":5},"arguments":["hint"]}]}],"errorMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5},"arguments":["error-message"]}]}],"required":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":5},"arguments":["required"]}]}],"hidden":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":5},"arguments":["hidden"]}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":5},"arguments":["disabled"]}]}],"readonly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":5},"arguments":["readonly"]}]}],"validator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":5},"arguments":["validator"]}]}],"min":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":5},"arguments":["min"]}]}],"max":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":5},"arguments":["max"]}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"setDate":[{"__symbolic":"method"}],"getDate":[{"__symbolic":"method"}],"changeValue":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}]}},"ɵo":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"input-time","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":11,"character":19},"useExisting":{"__symbolic":"reference","name":"ɵo"},"multi":true}],"template":"<mat-form-field *ngIf=\"!hidden && !disabled && !readonly\"\n        (click)=\"timePicker.open()\">\n    <input matInput [placeholder]=\"label\" autocomplete=\"off\" \n            [(ngModel)]=\"timeString\"\n            (ngModelChange)=\"setTimeString($event)\" \n            [ngxTimepicker]=\"timePicker\" \n            [format]=\"12\" \n            [disableClick]=\"true\"\n            (keypress)=\"timePicker.open()\"\n            [min]=\"min\"\n            [max]=\"max\">\n        \n    <ngx-material-timepicker-toggle matSuffix [for]=\"timePicker\">\n        <button mat-icon-button type=\"button\" ngxMaterialTimepickerToggleIcon>\n            <mat-icon>access_time</mat-icon>\n        </button>\n    <!-- <mat-icon ngxMaterialTimepickerToggleIcon>access_time</mat-icon> -->\n    </ngx-material-timepicker-toggle>\n\n    <ngx-material-timepicker #timePicker></ngx-material-timepicker>\n\n    <!-- <input matInput [(ngModel)]=\"value\" (ngModelChange)=\"changeValue($event)\"\n                    autocomplete=\"off\"\n                    [matDatepicker]=\"datepicker\"\n                    [disabled]=\"disabled\" \n                    [readonly]=\"readonly\" \n                    [placeholder]=\"label\" \n                    >\n    <mat-datepicker-toggle matSuffix [for]=\"datepicker\"></mat-datepicker-toggle>\n    <mat-datepicker #datepicker></mat-datepicker> -->\n\n    <span matPrefix>\n        <ng-content  select=\"[prefix]\"></ng-content>\n    </span>\n    <span matSuffix>\n        <ng-content  select=\"[suffix]\"></ng-content>\n    </span>\n    \n    <mat-hint *ngIf=\"hint && hint.length && !error\" align=\"end\">{{ hint }}</mat-hint>\n    <mat-error *ngIf=\"error && error.length\" align=\"end\">{{ errorMessage || error }}</mat-error>\n\n</mat-form-field>\n\n\n<mat-form-field *ngIf=\"!hidden && (disabled || readonly)\">\n    <input matInput [placeholder]=\"label\" autocomplete=\"off\" \n            [(ngModel)]=\"timeString\"\n            (ngModelChange)=\"setTimeString($event)\">\n        \n    <span matPrefix>\n        <ng-content  select=\"[prefix]\"></ng-content>\n    </span>\n    <span matSuffix>\n        <ng-content  select=\"[suffix]\"></ng-content>\n    </span>\n    \n    <mat-hint *ngIf=\"hint && hint.length && !error\" align=\"end\">{{ hint }}</mat-hint>\n    <mat-error *ngIf=\"error && error.length\" align=\"end\">{{ errorMessage || error }}</mat-error>\n\n</mat-form-field>\n\n<!-- <mat-form-field *ngIf=\"!hidden\"\n            [class.withHint]=\"hint && hint.length\">\n    <input matInput [ngModel]=\"value\" (ngModelChange)=\"changeValue($event)\"\n                    [errorStateMatcher]=\"errorMatcher\"\n                    type=\"text\"\n                    autocomplete=\"off\"\n                    [name]=\"name\" \n                    [required]=\"required\"\n                    [disabled]=\"disabled\"\n                    [readonly]=\"readonly\" \n                    [placeholder]=\"label\">\n\n    <span matPrefix>\n        <ng-content  select=\"[prefix]\"></ng-content>\n    </span>\n    <span matSuffix>\n        <ng-content  select=\"[suffix]\"></ng-content>\n    </span>\n    \n    <mat-hint *ngIf=\"hint && hint.length && !error\" align=\"end\">{{ hint }}</mat-hint>\n    <mat-error *ngIf=\"error && error.length\" align=\"end\">{{ errorMessage || error }}</mat-error>\n</mat-form-field> -->\n","styles":["body.arabic .mat-form-field{direction:rtl}.mat-form-field{width:100%}.mat-form-field.withHint{margin-bottom:1rem}mat-slider,mv-slider{width:100%}.spaced-end{-webkit-margin-end:.5rem;margin-inline-end:.5rem}"]}]}],"members":{"name":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":5},"arguments":["name"]}]}],"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":5},"arguments":["label"]}]}],"hint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":5},"arguments":["hint"]}]}],"errorMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5},"arguments":["error-message"]}]}],"required":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":5},"arguments":["required"]}]}],"hidden":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":5},"arguments":["hidden"]}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":5},"arguments":["disabled"]}]}],"readonly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":5},"arguments":["readonly"]}]}],"validator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":5},"arguments":["validator"]}]}],"min":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":5},"arguments":["min"]}]}],"max":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":5},"arguments":["max"]}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"setTimeString":[{"__symbolic":"method"}],"getTimeString":[{"__symbolic":"method"}],"changeValue":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}]}},"ɵp":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"input-menu","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":11,"character":19},"useExisting":{"__symbolic":"reference","name":"ɵp"},"multi":true}],"template":"<mat-form-field *ngIf=\"!hidden\"\n            [class.withHint]=\"hint && hint.length\">\n\n        <mat-label>{{ label }}</mat-label>\n        <input matInput [ngModel]=\"text\" \n                [errorStateMatcher]=\"errorMatcher\"\n                type=\"text\"\n                autocomplete=\"off\"\n                [name]=\"name\" \n                [required]=\"required\"\n                [disabled]=\"disabled\"\n                [readonly]=\"true\" \n                [placeholder]=\"label\"\n                (keypress)=\"lookupMenu.childMenu.openMenu()\"\n                [matMenuTriggerFor]=\"lookupMenu.childMenu\">        \n        <!-- (ngModelChange)=\"changeValue($event)\"\n            \n            <input matInput [ngModel]=\"value\" (ngModelChange)=\"changeValue($event)\"\n                    [errorStateMatcher]=\"errorMatcher\"\n                    type=\"text\"\n                    autocomplete=\"off\"\n                    [name]=\"name\" \n                    [required]=\"required\"\n                    [disabled]=\"disabled\"\n                    [readonly]=\"readonly\" \n                    [placeholder]=\"label\"> -->\n                    <!-- [formControl]=\"control\"  \n                     -->\n\n    <button mat-icon-button matSuffix class=\"spaced-end\" *ngIf=\"!readonly && !disabled\"\n            [matMenuTriggerFor]=\"lookupMenu.childMenu\">\n        <mat-icon>menu</mat-icon>\n    </button>\n\n    <lookup-menu-item #lookupMenu [items]=\"lookup\" (select)=\"changeSelected($event)\"></lookup-menu-item>   \n\n    <span matPrefix>\n        <ng-content  select=\"[prefix]\"></ng-content>\n    </span>\n    <span matSuffix>\n        <ng-content  select=\"[suffix]\"></ng-content>\n    </span>\n    \n    <mat-hint *ngIf=\"hint && hint.length && !error\" align=\"end\">{{ hint }}</mat-hint>\n    <mat-error *ngIf=\"error && error.length\" align=\"end\">{{ errorMessage || error }}</mat-error>\n    <!-- <mat-error *ngIf=\"control.invalid\" align=\"end\">{{ errorMessage || 'Invalid value' }}</mat-error> -->\n</mat-form-field>\n","styles":["body.arabic .mat-form-field{direction:rtl}.mat-form-field{width:100%}.mat-form-field.withHint{margin-bottom:1rem}mat-slider,mv-slider{width:100%}.spaced-end{-webkit-margin-end:.5rem;margin-inline-end:.5rem}"]}]}],"members":{"lookup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":5},"arguments":["lookup"]}]}],"key":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":5},"arguments":["key"]}]}],"expression":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":5},"arguments":["expression"]}]}],"name":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":5},"arguments":["name"]}]}],"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":5},"arguments":["label"]}]}],"hint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":5},"arguments":["hint"]}]}],"errorMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":5},"arguments":["error-message"]}]}],"required":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":5},"arguments":["required"]}]}],"hidden":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":5},"arguments":["hidden"]}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":5},"arguments":["disabled"]}]}],"readonly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":5},"arguments":["readonly"]}]}],"validator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":5},"arguments":["validator"]}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"findItem":[{"__symbolic":"method"}],"changeSelected":[{"__symbolic":"method"}],"changeValue":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}]}},"ɵq":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"lookup-menu-item","template":"<mat-menu #childMenu=\"matMenu\" [overlapTrigger]=\"false\">\n    <span *ngFor=\"let child of items\">\n      \n      <!-- Handle branch node menu items -->\n      <span *ngIf=\"child.children && child.children.length > 0\">\n        <button mat-menu-item color=\"primary\" [matMenuTriggerFor]=\"menu.childMenu\">\n          <mat-icon *ngIf=\"child.icon\">{{ child.icon }}</mat-icon>\n          <span>{{ child.name }}</span>\n        </button>\n        <lookup-menu-item #menu [items]=\"child.children\" (select)=\"select($event)\"></lookup-menu-item>\n      </span>\n\n      <!-- Handle leaf node menu items -->\n      <span *ngIf=\"!child.children || child.children.length === 0\">\n        <button mat-menu-item (click)=\"select(child)\">\n          <mat-icon *ngIf=\"child.icon\">{{ child.icon }}</mat-icon>\n          <span>{{ child.name }}</span>\n        </button>\n      </span>\n    </span>\n</mat-menu>","styles":["body.arabic .mat-form-field{direction:rtl}.mat-form-field{width:100%}.mat-form-field.withHint{margin-bottom:1rem}mat-slider,mv-slider{width:100%}.spaced-end{-webkit-margin-end:.5rem;margin-inline-end:.5rem}"]}]}],"members":{"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":5}}]}],"childMenu":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":16,"character":5},"arguments":["childMenu",{"static":true,"read":{"__symbolic":"reference","module":"@angular/material","name":"MatMenu","line":16,"character":49}}]}]}],"onSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":19,"character":5},"arguments":["select"]}]}],"ngOnInit":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}]}},"ɵr":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"lookup-tree","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":11,"character":19},"useExisting":{"__symbolic":"reference","name":"ɵr"},"multi":true}],"template":"<div class=\"menu-col\">\n    <span mat-menu-item *ngFor=\"let item of lookup\">\n\n        <!-- Handle branch node buttons here -->\n        <ng-container *ngIf=\"item.children && item.children.length > 0\">\n            <span class=\"menu-row\" [matMenuTriggerFor]=\"menu.childMenu\">\n                <!-- <mat-icon *ngIf=\"item.icon\">{{ item.icon }}</mat-icon> -->\n                <mat-icon>chevron_right</mat-icon>\n                <span>{{ item.name }}</span>\n            </span>\n            <lookup-menu-item #menu [items]=\"item.children\" (select)=\"select($event)\"></lookup-menu-item>\n        </ng-container>\n\n        <!-- Leaf node buttons here -->\n        <ng-container *ngIf=\"!item.children || item.children.length === 0\">\n            <span class=\"menu-row\" color=\"primary\" (click)=\"select(item)\">\n                <mat-icon>{{ item.icon }}</mat-icon>\n                <span>{{ item.name }}</span>\n            </span>\n        </ng-container>\n    </span>\n</div>","styles":[":host{width:100%;height:100%;overflow-x:hidden;overflow-y:auto}.menu-col{width:100%;display:flex;flex-direction:column}.menu-row{width:100%;display:flex;align-items:center}.menu-row div,.menu-row span{flex:1}","body.arabic .mat-form-field{direction:rtl}.mat-form-field{width:100%}.mat-form-field.withHint{margin-bottom:1rem}mat-slider,mv-slider{width:100%}.spaced-end{-webkit-margin-end:.5rem;margin-inline-end:.5rem}"]}]}],"members":{"lookup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":5},"arguments":["lookup"]}]}],"key":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":5},"arguments":["key"]}]}],"expression":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":5},"arguments":["expression"]}]}],"name":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5},"arguments":["name"]}]}],"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":5},"arguments":["label"]}]}],"hint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":5},"arguments":["hint"]}]}],"errorMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":5},"arguments":["error-message"]}]}],"required":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":5},"arguments":["required"]}]}],"hidden":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":5},"arguments":["hidden"]}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":5},"arguments":["disabled"]}]}],"readonly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":5},"arguments":["readonly"]}]}],"validator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":5},"arguments":["validator"]}]}],"onSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":62,"character":5},"arguments":["select"]}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"findItem":[{"__symbolic":"method"}],"changeSelected":[{"__symbolic":"method"}],"changeValue":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}]}},"ɵs":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"ess-anim-tree","animations":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger","line":18,"character":8},"arguments":["expandTree",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":19,"character":10},"arguments":["true=>false",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":20,"character":12},"arguments":[{"opacity":0}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":21,"character":12},"arguments":[600]}]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":23,"character":10},"arguments":["false=>true",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":24,"character":12},"arguments":[{"opacity":1}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":25,"character":12},"arguments":[600]}]]}]]}],"template":"<!-- <input-string [(ngModel)]=\"phrase\" *ngIf=\"search_function\" (ngModelChange)=\"doSearch()\">\n    <button mat-icon-button suffix (click)=\"doSearch()\">\n      <mat-icon>search</mat-icon>\n    </button>\n</input-string> -->\n\n<mat-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\" *ngIf=\"dataSource\" class=\"menu-tree\">\n\n            <!-- This is the tree node template for leaf nodes -->\n            <mat-tree-node *matTreeNodeDef=\"let node\" matTreeNodeToggle matRipple>\n\n                <li class=\"mat-tree-node\" \n                    (click)=\"openMenuItem(node)\" [class.selected]=\"node == selected\">\n                <!-- use a disabled button to provide padding for tree leaf -->\n                <styled-span [style]=\"node.style\" class=\"item-name\" (click)=\"openMenuItem(node)\">\n                    {{ i18n.get(node.name, node.name) }}\n                </styled-span>\n                <!-- <button mat-icon-button disabled>\n                  <mat-icon *ngIf=\"node.style && node.style.icon\">{{node.style.icon}}</mat-icon>\n                  <img *ngIf=\"node.style && node.style.img\" [src]=\"node.style.img\" class=\"menu-icon\">\n                </button>\n                <span class=\"item-name\" (click)=\"openMenuItem(node)\">{{ i18n.get(node.name, node.name) }}</span> -->\n              </li>\n            </mat-tree-node>\n    \n            <!-- This is the tree node template for expandable nodes -->\n            <mat-nested-tree-node *matTreeNodeDef=\"let node; when: hasChild\"\n                  [class.expanded]=\"treeControl.isExpanded(node)\">\n              <li (click)=\"openMenuItem(node)\" [class.selected]=\"node == selected\" [class.matched]=\"node.__matched\">\n                <div class=\"mat-tree-node\" matTreeNodeToggle matRipple>\n                  <button mat-icon-button [disableRipple]=\"true\" class=\"chevron\" [attr.aria-label]=\"'toggle ' + node.name\">\n                    <mat-icon class=\"mat-icon-rtl-mirror\">chevron_right\n                    </mat-icon>\n                  </button>\n                  <styled-span [style]=\"node.style\" class=\"item-name\" (click)=\"openMenuItem(node)\">\n                    {{ i18n.get(node.name, node.name) }}\n                  </styled-span>\n                  <!-- <span class=\"item-name\" (click)=\"openMenuItem(node)\">{{ i18n.get(node.name, node.name) }}</span> -->\n                </div>\n                <ul>\n                  <ng-container matTreeNodeOutlet></ng-container>\n                </ul>\n              </li>\n            </mat-nested-tree-node>\n    \n        </mat-tree>\n","styles":[".mat-tree.menu-tree{overflow:hidden;background:0 0}.mat-tree.menu-tree li,.mat-tree.menu-tree ul{margin-top:0;margin-bottom:0;list-style-type:none}li.mat-tree-node{left:0}.mat-tree-node.selected,.mat-tree-node:hover{background-color:var(--ess-menu-back-selected)!important;color:var(--ess-menu-text-selected)!important}li.selected>.mat-tree-node{color:var(--ess-menu-text-selected);background:var(--ess-menu-back-selected)}li.selected>.mat-tree-node mat-icon.mat-icon{color:var(--ess-menu-text-selected)}li.matched>.mat-tree-node{color:#0054a4;background:rgba(0,84,164,.25)}li.matched>.mat-tree-node mat-icon.mat-icon{color:#0054a4}mat-nested-tree-node li ul{-webkit-padding-start:0;padding-inline-start:0}mat-nested-tree-node ul{opacity:0;max-height:0;transition-property:all;transition-duration:.3s;transition-timing-function:ease}mat-nested-tree-node .mat-icon-button{transition-property:transform;transition-duration:.3s;transition-timing-function:ease;transform:none}mat-nested-tree-node.expanded>li>ul{opacity:1;max-height:400vh;-webkit-padding-start:2rem;padding-inline-start:2rem}mat-nested-tree-node.expanded>li>div.mat-tree-node>.mat-icon-button.chevron{transform:rotate(90deg)}.item-name{cursor:pointer;flex:1;background:0 0}"]}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":5},"arguments":["data"]}]}],"onSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":45,"character":5},"arguments":["select"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ess-plugin-base","name":"I18N","line":56,"character":29}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"openMenuItem":[{"__symbolic":"method"}]}},"ɵt":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"ess-search-tree","animations":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger","line":18,"character":8},"arguments":["expandTree",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":19,"character":10},"arguments":["true=>false",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":20,"character":12},"arguments":[{"opacity":0}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":21,"character":12},"arguments":[600]}]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":23,"character":10},"arguments":["false=>true",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":24,"character":12},"arguments":[{"opacity":1}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":25,"character":12},"arguments":[600]}]]}]]}],"template":"<input-string [(ngModel)]=\"phrase\" *ngIf=\"search_matcher\" (ngModelChange)=\"doSearch()\">\n    <button mat-icon-button suffix (click)=\"doSearch()\">\n      <mat-icon>search</mat-icon>\n    </button>\n</input-string>\n\n<mat-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\" *ngIf=\"dataSource\" class=\"menu-tree\">\n\n            <!-- This is the tree node template for leaf nodes -->\n            <mat-tree-node *matTreeNodeDef=\"let node\" matTreeNodeToggle matRipple>\n\n                <li class=\"mat-tree-node\" \n                    (click)=\"openMenuItem(node)\" [class.selected]=\"node == selected\" [class.matched]=\"node.__matched\">\n                <!-- use a disabled button to provide padding for tree leaf -->\n                <div class=\"item-wrapper\">\n                  <styled-span [style]=\"node.style\" class=\"item-name\" (click)=\"openMenuItem(node)\">\n                    {{ i18n.get(node.name, node.name) }}\n                  </styled-span>\n\n                  <!-- <button mat-icon-button disabled>\n                    <mat-icon *ngIf=\"node.icon\">{{node.icon}}</mat-icon>\n                    <img *ngIf=\"node.img\" [src]=\"node.img\" class=\"menu-icon\">\n                  </button>\n                  <span class=\"item-name\" (click)=\"openMenuItem(node)\">{{ i18n.get(node.name, node.name) }}</span>   -->\n                </div>\n\n              </li>\n            </mat-tree-node>\n    \n            <!-- This is the tree node template for expandable nodes -->\n            <mat-nested-tree-node *matTreeNodeDef=\"let node; when: hasChild\"\n                  [class.expanded]=\"treeControl.isExpanded(node)\">\n              <li (click)=\"openMenuItem(node)\" [class.selected]=\"node == selected\" [class.matched]=\"node.__matched\">\n                <div class=\"mat-tree-node\" matTreeNodeToggle matRipple>\n                  \n                  <button mat-icon-button [disableRipple]=\"true\" class=\"chevron\" [attr.aria-label]=\"'toggle ' + node.name\">\n                    <mat-icon class=\"mat-icon-rtl-mirror\">chevron_right\n                    </mat-icon>\n                  </button>\n                  \n                  <styled-span [style]=\"node.style\" class=\"item-name\" (click)=\"openMenuItem(node)\">\n                    {{ i18n.get(node.name, node.name) }}\n                  </styled-span>\n                  <!-- <span class=\"item-name\" (click)=\"openMenuItem(node)\">{{ i18n.get(node.name, node.name) }}</span> -->\n                </div>\n                <ul>\n                  <ng-container matTreeNodeOutlet></ng-container>\n                </ul>\n              </li>\n            </mat-nested-tree-node>\n    \n        </mat-tree>\n","styles":[".mat-tree.menu-tree{overflow:hidden;background:0 0}.mat-tree.menu-tree li,.mat-tree.menu-tree ul{margin-top:0;margin-bottom:0;list-style-type:none}li.mat-tree-node{left:0}.mat-tree .mat-tree-node.selected,.mat-tree .mat-tree-node:hover{background-color:var(--ess-menu-back-selected)!important;color:var(--ess-menu-text-selected)!important}.item-wrapper{display:flex;align-items:center;flex:1;overflow:hidden}li.selected>.item-wrapper,li.selected>.mat-tree-node{color:var(--ess-menu-text-selected);background:var(--ess-menu-back-selected)}li.selected>.item-wrapper mat-icon.mat-icon,li.selected>.mat-tree-node mat-icon.mat-icon{color:var(--ess-menu-text-selected)}li.matched>.item-wrapper,li.matched>.mat-tree-node{color:#0054a4;background:rgba(0,84,164,.125)}li.matched>.item-wrapper mat-icon.mat-icon,li.matched>.mat-tree-node mat-icon.mat-icon{color:#0054a4}mat-nested-tree-node li ul{-webkit-padding-start:0;padding-inline-start:0}mat-nested-tree-node ul{opacity:0;max-height:0;transition-property:all;transition-duration:.3s;transition-timing-function:ease}mat-nested-tree-node .mat-icon-button{transition-property:transform;transition-duration:.3s;transition-timing-function:ease;transform:none}mat-nested-tree-node.expanded>li>ul{opacity:1;max-height:400vh;-webkit-padding-start:2rem;padding-inline-start:2rem}mat-nested-tree-node.expanded>li>div.mat-tree-node>.mat-icon-button.chevron{transform:rotate(90deg)}.item-name{cursor:pointer;flex:1;background:0 0}"]}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":5},"arguments":["data"]}]}],"onSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":45,"character":5},"arguments":["select"]}]}],"search_matcher":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":61,"character":5},"arguments":["search-matcher"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ess-plugin-base","name":"I18N","line":64,"character":29}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"openMenuItem":[{"__symbolic":"method"}],"doSearch":[{"__symbolic":"method"}],"matchNodes":[{"__symbolic":"method"}]}},"ɵu":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"smart-list","template":"<div class=\"searchbar\">\n    <mat-form-field>\n      <input matInput type=\"text\" [placeholder]=\"i18n.get('search', 'Search')\"\n            [(ngModel)]=\"phrase\" (keydown.enter)=\"load()\">\n    </mat-form-field>\n\n    <button mat-icon-button (click)=\"load()\">\n        <mat-icon>refresh</mat-icon>\n    </button>\n</div>\n\n<!-- <span class=\"list-scroller\"> -->\n    <mat-list class=\"selectable\">\n        <span *ngFor=\"let item of filtered\" [class.selected]=\"selected == item\" (click)=\"doSelect(item)\">\n            <ng-container *ngTemplateOutlet=\"template; context: { $implicit: item }\"></ng-container>\n        </span>\n    </mat-list>\n<!-- </span> -->","styles":[":host{display:flex;flex-direction:column;height:100%}.searchbar{display:flex;background:var(--ess-toolbar-back);border-bottom:1px solid #d3d3d3;height:48px}.searchbar .mat-form-field{flex:1;min-width:2rem;-webkit-padding-start:.5rem;padding-inline-start:.5rem}.mat-list{flex:1;overflow-x:hidden;overflow-y:auto}::ng-deep mat-list.selectable span.selected>*,mat-list.selectable span.selected{background-color:var(--ess-menu-back-selected)}::ng-deep .mat-list-item:hover{background-color:rgba(0,84,164,.15);cursor:pointer}"]}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":5},"arguments":["data"]}]}],"template":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":19,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":19,"character":18},{"static":false}]}]}],"onSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":5},"arguments":["select"]}]}],"onSearch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":5},"arguments":["search"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ess-plugin-base","name":"I18N","line":33,"character":29}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"load":[{"__symbolic":"method"}],"match":[{"__symbolic":"method"}],"doSelect":[{"__symbolic":"method"}]}},"ɵv":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":17,"character":1},"arguments":[{"selector":"ess-grid","template":"<div class=\"ess-grid\">\n    <ng-content></ng-content>\n</div>\n\n<!-- <div class=\"ess-grid\" *ngIf=\"!cols\">\n    <ng-content></ng-content>\n</div>\n -->\n<!-- <mat-grid-list class=\"ess-grid\" *ngIf=\"cols > 0\"\n    [cols]=\"cols\" [gutterSize]=\"spacing || 0\"\n    [style.border]=\"border || 'initial'\">\n    <ng-content></ng-content>\n</mat-grid-list> -->","styles":["body.arabic .ess-grid,body.arabic :host{direction:rtl}.ess-grid,:host{display:flex;flex-direction:column;width:100%;padding:0;margin:0}"]}]}],"members":{}},"ɵw":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"ess-row","template":"    <ng-content></ng-content>\n    <button mat-icon-button *ngIf=\"expandable\" \n            class=\"expand-icon\" [class.rotated]=\"expanded\" (click)=\"toggleExpanded()\">\n        <mat-icon>chevron_right</mat-icon>\n    </button>\n    <div *ngIf=\"expandable\" class=\"expandable\" [class.expanded]=\"expanded\">\n        <ng-content select=\"[expanded]\"></ng-content>\n    </div>\n","styles":[":host{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;width:100%;padding:.25rem;margin:0}:host ess-col{flex:1}:host .expand-icon{position:relative;-webkit-margin-start:auto;margin-inline-start:auto;margin-top:0;-webkit-margin-end:0;margin-inline-end:0;transition:transform .3s}:host .expand-icon.rotated{transform:rotate(90deg)}:host .expandable{height:0;max-height:0;flex-basis:100%;overflow:hidden;transition:height .3s,max-height .3s}:host .expandable.expanded{height:100%;max-height:20rem;overflow:auto}"]}]}],"members":{"expandable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":5},"arguments":["expandable"]}]}],"expanded":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":5},"arguments":["expanded"]}]}],"onExpand":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":5},"arguments":["onExpand"]}]}],"onCollapse":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":32,"character":5},"arguments":["onCollapse"]}]}],"toggleExpanded":[{"__symbolic":"method"}]}},"ɵx":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"ess-col","template":"<ng-content></ng-content>","styles":[":host{display:flex;flex-direction:column;flex:1;padding:.25rem;margin:0}"]}]}],"members":{"flex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":5},"arguments":["flex"]}]}]}},"ɵy":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"ess-tile","template":"<ng-content></ng-content>","styles":[":host{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;width:100%;padding:.25rem;margin:0}"]}]}],"members":{}},"ɵz":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"ess-header","template":"    <ng-content></ng-content>\n","styles":[":host{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;width:100%;padding:.25rem;margin:0;position:-webkit-sticky;position:sticky;top:0}:host ess-col{flex:1}"]}]}],"members":{}},"ɵba":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"smart-toolbar","template":"<div class=\"toolbar\" [class.compact]=\"isCompact\" [class.spaced]=\"!isCompact\">\n    <div #start class=\"start\" *ngIf=\"split\">\n        <ng-content select=\"[start]\"></ng-content>\n    </div>\n    \n    <div #full class=\"full\" *ngIf=\"!split\">\n        <ng-content></ng-content>\n    </div>\n\n    <div #end class=\"end\" *ngIf=\"split\">\n        <ng-content select=\"[end]\"></ng-content>\n    </div>\n\n</div>","styles":["body.arabic .toolbar{direction:rtl}::ng-deep .toolbar{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center}::ng-deep .toolbar.compact{padding:0}::ng-deep .toolbar.spaced{padding:.5rem}::ng-deep .toolbar.spaced .end>*,::ng-deep .toolbar.spaced .full>*,::ng-deep .toolbar.spaced .start>*{-webkit-margin-start:.5rem;margin-inline-start:.5rem}::ng-deep .toolbar.spaced .end>:first-child,::ng-deep .toolbar.spaced .full>:first-child,::ng-deep .toolbar.spaced .start>:first-child{-webkit-margin-start:0;margin-inline-start:0}::ng-deep .toolbar>*{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:0;margin-inline-end:0}::ng-deep .toolbar .start{-webkit-margin-end:auto;margin-inline-end:auto;align-content:flex-start}::ng-deep .toolbar .full{flex:1;align-content:space-between}::ng-deep .toolbar .end{-webkit-margin-start:auto;margin-inline-start:auto;align-content:flex-end}"]}]}],"members":{"split":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":5}}]}],"isCompact":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":5},"arguments":["compact"]}]}]}},"ɵbb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":16,"character":3},"arguments":[{"selector":"ess-tabset","template":"<mat-tab-group [(selectedIndex)]=\"activeTab\" (selectedIndexChange)=\"tabChanged($event)\">\n\n    <mat-tab *ngFor=\"let tab of tabs\">\n        <ng-template mat-tab-label>\n            <span class=\"label\"><ng-template [ngTemplateOutlet]=\"tab.label\"></ng-template></span>\n        </ng-template>\n\n        <!-- <ng-template mat-tab-label>\n            <span [innerHTML]=\"tab.labelHTML\"></span>\n        </ng-template> -->\n\n        <div class=\"body\"><ng-template [ngTemplateOutlet]=\"tab.body\"></ng-template></div>\n        <!-- <div [innerHTML]=\"tab.bodyHTML\">\n        </div> -->\n    </mat-tab>\n\n</mat-tab-group>    ","styles":[""]}]}],"members":{"tabs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":64,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵbc"}]}]}],"activeTab":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":5},"arguments":["activeTab"]}]}],"onTabChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":82,"character":5},"arguments":["tabChanged"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":85,"character":35},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":85,"character":66}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngAfterContentInit":[{"__symbolic":"method"}],"ngAfterContentChecked":[{"__symbolic":"method"}],"tabChanged":[{"__symbolic":"method"}]}},"ɵbc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":3},"arguments":[{"selector":"ess-tab","template":"<!-- <mat-tab> -->\n\n    <ng-template #label>\n        <ng-content select=\"[label]\"></ng-content>\n    </ng-template>\n\n    <ng-template #body>\n        <ng-content select=\"[body]\"></ng-content>\n    </ng-template>\n\n    <!-- <span #label class=\"label\">\n        <ng-content select=\"[label]\"></ng-content>\n    </span>\n    <div #body class=\"body\">\n        <ng-content select=\"[body]\" ngProjectAs=\"body\"></ng-content>\n    </div> -->\n<!-- </mat-tab> -->\n","styles":[""]}]}],"members":{"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":26,"character":5},"arguments":["label",{"static":false}]}]}],"body":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":29,"character":5},"arguments":["body",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":41,"character":35}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngAfterContentInit":[{"__symbolic":"method"}]}},"ɵbd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"split-panes-old","template":"<div class=\"split-container\"\n        (mousedown)=\"mousedown($event)\"\n        (mousemove)=\"mousemove($event)\"\n        (mouseup)=\"mouseup($event)\"\n        (mouseleave)=\"mouseleave($event)\">\n    \n    <div #first class=\"first\" (scroll)=\"scrollFirst($event)\"\n        [style.flexBasis.px]=\"position\" [style.minWidth.px]=\"position\">\n<!--         \n    </div> [style.height.%]=\"100\"> -->\n        <ng-content select=\"[first]\"></ng-content>\n    </div>\n    \n    <div class=\"splitter\"></div>\n    \n    <div #second class=\"second\" (scroll)=\"scrollSecond($event)\">\n        <ng-content select=\"[second]\"></ng-content>\n    </div>\n</div>\n\n<!-- <div class=\"split-container toggler\" *ngIf=\"mobileQuery.matches\">\n    \n    <div #first class=\"first\" (scroll)=\"scrollFirst($event)\"\n        [style.flex]=\"first_flex\">\n        <ng-content select=\"[first]\"></ng-content>\n    </div>\n    \n    <div class=\"show-either\" (click)=\"toggleShowing()\">\n        <mat-icon [class.inverted]=\"second_flex > first_flex\">chevron-right</mat-icon>\n    </div>\n    \n    <div #second class=\"second\" [style.flex]=\"second_showing\" \n        (scroll)=\"scrollSecond($event)\">\n        <ng-content select=\"[second]\"></ng-content>\n    </div>\n</div> -->","styles":[":host{width:100%;height:100%;flex-basis:100%;flex:1}.split-container{display:flex;flex-direction:row;height:100%}.first{flex:0;overflow:hidden}::ng-deep [first]{width:100%!important;height:100%!important}::ng-deep [second]{width:100%!important;height:100%!important}.second{flex:1;overflow:hidden}.splitter{width:.5em;min-width:.5em;background:rgba(0,0,0,.05);border-left:1px solid #a9a9a9;border-right:1px solid #a9a9a9;cursor:ew-resize}.splitter:hover{background:#a9a9a9}.toggler>*{transition:flex 1s}.show-either{width:1.5em;min-width:1.5em;background:rgba(0,0,0,.05);border-left:1px solid #a9a9a9;border-right:1px solid #a9a9a9;cursor:ew-resize;display:flex;align-items:center}.show-either .mat-icon{transition:transform 1s}.show-either .mat-icon.inverted{transform:rotate(180deg)}.show-either:hover{background:rgba(0,0,0,.05)}"]}]}],"members":{"first":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":12,"character":5},"arguments":["first",{"static":false}]}]}],"second":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":15,"character":5},"arguments":["second",{"static":false}]}]}],"direction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":5}}]}],"position":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":5}}]}],"minPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5},"arguments":["min-position"]}]}],"maxPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":5},"arguments":["max-position"]}]}],"onScrollFirst":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":39,"character":5},"arguments":["scroll-first"]}]}],"onScrollSecond":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":42,"character":5},"arguments":["scroll-second"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ess-plugin-base","name":"SessionProvider","line":54,"character":33},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":54,"character":69},{"__symbolic":"reference","module":"@angular/cdk/layout","name":"MediaMatcher","line":54,"character":95}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"mousedown":[{"__symbolic":"method"}],"mousemove":[{"__symbolic":"method"}],"mouseup":[{"__symbolic":"method"}],"mouseleave":[{"__symbolic":"method"}],"touchmove":[{"__symbolic":"method"}],"toggleFlex":[{"__symbolic":"method"}],"scrollFirst":[{"__symbolic":"method"}],"scrollSecond":[{"__symbolic":"method"}]}},"ɵbe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"split-panes","template":"<div class=\"split-container\" [class.toggler]=\"mobileQuery.matches\"\n        (mousedown)=\"mousedown($event)\"\n        (mousemove)=\"mousemove($event)\"\n        (mouseup)=\"mouseup($event)\"\n        (mouseleave)=\"mouseleave($event)\"\n        (touchstart)=\"touchstart($event)\"\n        (touchmove)=\"touchmove($event)\"\n        (touchend)=\"touchend($event)\"\n        >\n    \n    <div #first class=\"first\" (scroll)=\"scrollFirst($event)\"\n        [class.showing]=\"(first_flex > second_flex)\"\n        [class.collapsed]=\"(first_flex < second_flex)\"\n        [style.flexBasis.px]=\"mobileQuery.matches? 0 : position\" \n        [style.minWidth.px]=\"mobileQuery.matches? 0 : position\">\n<!--         \n    </div> [style.height.%]=\"100\"> -->\n        <ng-content select=\"[first]\"></ng-content>\n    </div>\n    \n    <div class=\"splitter\" *ngIf=\"!mobileQuery.matches\"></div>\n    <div class=\"show-either\" (click)=\"toggleFlex()\" *ngIf=\"mobileQuery.matches\">\n        <mat-icon [class.inverted]=\"second_flex > first_flex\">chevron_right</mat-icon>\n    </div>\n    \n    <div #second class=\"second\" (scroll)=\"scrollSecond($event)\"\n        [class.showing]=\"(first_flex < second_flex)\"\n        [class.collapsed]=\"(first_flex > second_flex)\"\n        >\n        <ng-content select=\"[second]\"></ng-content>\n    </div>\n</div>\n\n<!-- <div class=\"split-container toggler\" [hidden]=\"!mobileQuery.matches\">\n    \n    <div #first class=\"first\" (scroll)=\"scrollFirst($event)\"\n        [style.flex]=\"first_flex\">\n        <ng-content select=\"[first]\"></ng-content>\n    </div>\n    \n    <div class=\"show-either\" (click)=\"toggleFlex()\">\n        <mat-icon [class.inverted]=\"second_flex > first_flex\">chevron_right</mat-icon>\n    </div>\n    \n    <div #second class=\"second\" [style.flex]=\"second_flex\" \n        (scroll)=\"scrollSecond($event)\">\n        <ng-content select=\"[second]\"></ng-content>\n    </div>\n</div> -->","styles":[":host{width:100%;height:100%;flex-basis:100%;flex:1}.split-container{display:flex;flex-direction:row;height:100%}body.arabic :host .split-container{direction:ltr}.first{flex:0;overflow:hidden}::ng-deep [first]{width:100%!important;height:100%!important}::ng-deep [second]{width:100%!important;height:100%!important}.second{flex:1;overflow:hidden}.splitter{width:.5em;min-width:.5em;background:rgba(0,0,0,.05);border-left:1px solid #a9a9a9;border-right:1px solid #a9a9a9;cursor:ew-resize}.splitter:hover{background:rgba(0,0,0,.05)}.toggler>*{transition:flex .3s}.toggler .showing{flex:1}.toggler .collapsed{flex:0}.show-either{width:1.5em;min-width:1.5em;background:rgba(0,0,0,.05);border-left:1px solid #a9a9a9;border-right:1px solid #a9a9a9;cursor:ew-resize;display:flex;align-items:center}.show-either .mat-icon{transition:transform .3s}.show-either .mat-icon.inverted{transform:rotate(180deg)}"]}]}],"members":{"first":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":12,"character":5},"arguments":["first",{"static":false}]}]}],"second":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":15,"character":5},"arguments":["second",{"static":false}]}]}],"direction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":5}}]}],"position":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5}}]}],"minPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":5},"arguments":["min-position"]}]}],"maxPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":5},"arguments":["max-position"]}]}],"onScrollFirst":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":51,"character":5},"arguments":["scroll-first"]}]}],"onScrollSecond":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":57,"character":5},"arguments":["scroll-second"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ess-plugin-base","name":"SessionProvider","line":69,"character":33},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":69,"character":69},{"__symbolic":"reference","module":"@angular/cdk/layout","name":"MediaMatcher","line":69,"character":95}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"mousedown":[{"__symbolic":"method"}],"mousemove":[{"__symbolic":"method"}],"mouseup":[{"__symbolic":"method"}],"mouseleave":[{"__symbolic":"method"}],"touchstart":[{"__symbolic":"method"}],"touchmove":[{"__symbolic":"method"}],"touchend":[{"__symbolic":"method"}],"toggleFlex":[{"__symbolic":"method"}],"scrollFirst":[{"__symbolic":"method"}],"scrollSecond":[{"__symbolic":"method"}]}},"ɵbf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"ess-breadcrumbs","template":"<div class=\"breadcrumbs\">\n\n    <span>\n        <a mat-icon-button\n            [matMenuTriggerFor]=\"menu\" (click)=\"setLevel(null)\">\n            <mat-icon>chevron_right</mat-icon>\n        </a>\n    </span>\n\n    <span class=\"prompt\" *ngIf=\"!currentSegment\">\n        {{ prompt | i18n }}\n    </span>\n\n    <span *ngFor=\"let segment of path; let i = index\" >\n        <a mat-button  \n            [matMenuTriggerFor]=\"menu\" (click)=\"setLevel(segment)\">\n            {{ segment.name }}\n        </a>\n\n        <!-- <a mat-button *ngIf=\"currentLevel && currentLevel.length && !segment.value\" \n            [matMenuTriggerFor]=\"menu\" (click)=\"setLevelIndex(i)\">\n            ...\n        </a> -->\n\n        <!-- <a mat-button *ngIf=\"!currentLevel || currentLevel.length == 0\" \n            (click)=\"setLevel(segment)\">\n            {{ segment.name }}\n        </a> -->\n    </span>\n\n    <mat-menu #menu=\"matMenu\" [class]=\"(!currentLevel || !currentLevel.length)? 'hidden' : null\">\n            <button mat-menu-item *ngFor=\"let item of currentLevel\" (click)=\"selectItem(item)\">\n                <span>{{ item.name }}</span>\n            </button>\n    </mat-menu>\n</div>","styles":[".breadcrumbs{padding:.5rem 0}.hidden{display:none}"]}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":5},"arguments":["lookup"]}]}],"prompt":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":5},"arguments":["prompt"]}]}],"onSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":16,"character":5},"arguments":["select"]}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"setRoot":[{"__symbolic":"method"}],"selectItem":[{"__symbolic":"method"}],"setLevel":[{"__symbolic":"method"}],"setLevelIndex":[{"__symbolic":"method"}],"getSiblings":[{"__symbolic":"method"}]}},"ɵbg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"eform","template":"<h3 class=\"title\" *ngIf=\"layout.title && layout.title.length\">{{layout?.title}}</h3>\n\n<!-- [show-title]=\"false\"  -->\n<eform-page [layout]=\"layout\" \n        (change)=\"valueChange($event)\" \n        *ngIf=\"!layout.pages || !layout.pages.length\"></eform-page>\n\n<!-- <mat-tab-group mat-align-tabs=\"start\" *ngIf=\"layout.pages && layout.pages.length\"> -->\n    <mat-tab-group  *ngIf=\"layout.pages && layout.pages.length\">\n    <mat-tab *ngFor=\"let page of layout.pages\">\n        \n        <ng-template mat-tab-label>\n            <mat-icon *ngIf=\"page.icon\">{{ page.icon }}</mat-icon>\n            <span *ngIf=\"page.title || page.heading\">{{ page.title || page.heading }}</span>\n        </ng-template>\n        \n        <ng-template matTabContent>\n                <eform-page [layout]=\"page\" (change)=\"valueChange($event)\"></eform-page>\n        </ng-template>\n\n    </mat-tab>\n\n</mat-tab-group>\n","styles":[""]}]}],"members":{"form":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":11,"character":5},"arguments":["form",{"static":true,"read":{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":11,"character":44}}]}]}],"layout":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":5},"arguments":["layout"]}]}],"onChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":107,"character":5},"arguments":["change"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":110,"character":50}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"load":[{"__symbolic":"method"}],"valueChange":[{"__symbolic":"method"}]}},"ɵbh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"eform-page","template":"<!-- <mat-tab #page> -->\n\n<!-- </mat-tab> *ngIf=\"true || layout\"> -->\n\n<div class=\"page\">\n    <div #page></div>\n</div>\n<!-- </mat-tab> -->","styles":[".page{display:flex;flex-direction:row;flex-wrap:wrap;width:100%}"]}]}],"members":{"layout":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":5},"arguments":["layout"]}]}],"onChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":20,"character":5},"arguments":["change"]}]}],"page":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":23,"character":5},"arguments":["page",{"static":true,"read":{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":23,"character":44}}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":26,"character":50}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"load":[{"__symbolic":"method"}],"createSection":[{"__symbolic":"method"}]}},"ɵbi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"eform-section","template":"<div class=\"section\">\n\n<!-- </div> size-{{layout.size}}\" [style.flexGrow]=\"layout.size\"  [style.minWidth.rem]=\"3 * layout.size\" [style.maxWidth.rem]=\"9 * layout.size\"> -->\n\n    <h4 class=\"title\" *ngIf=\"layout.title && layout.title.length\">{{layout?.title || layout?.heading}}</h4>\n\n    <div class=\"content\">\n        <div #section class=\"anchor\"></div>\n    </div>\n</div>","styles":[".section{width:100%;padding:1rem;margin:1rem;border:1px solid gray;border-radius:.3rem}.content{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.title{flex:1;flex-basis:100%}.anchor{display:none}:host{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}@media (min-width:800px){.section.small{flex-basis:30%}.section.medium{flex-basis:45%}.section.large{flex-basis:100%}}@media (min-width:400px) and (max-width:800px){.section.small{flex-basis:50%}.section.large,.section.medium{flex-basis:100%}}@media (max-width:400px){.section.large,.section.medium,.section.small{flex-basis:100%}}"]}]}],"members":{"layout":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":5},"arguments":["layout"]}]}],"onChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":14,"character":5},"arguments":["change"]}]}],"section":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":17,"character":5},"arguments":["section",{"static":true,"read":{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":17,"character":47}}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":20,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":20,"character":75}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"load":[{"__symbolic":"method"}],"createControl":[{"__symbolic":"method"}],"setSize":[{"__symbolic":"method"}]}},"ɵbj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"eform-field","template":"<mat-form-field *ngIf=\"ctl && ctl.visible && ctl.datatype == 'text'\">\n        <textarea matInput [(ngModel)]=\"ctl.value\" (ngModelChange)=\"changeValue()\"\n                        type=\"text\" \n                        autocomplete=\"off\"\n                        [name]=\"ctl.name\" \n                        [disabled]=\"ctl.disabled || !ctl.enabled\" \n                        [readonly]=\"ctl.readonly || !ctl.editable\" \n                        [placeholder]=\"ctl.label || ctl.title || ctl.placeholder\"></textarea>\n</mat-form-field>\n\n<mat-form-field *ngIf=\"ctl && ctl.visible && ctl.datatype == 'string'\">\n        <input matInput [(ngModel)]=\"ctl.value\" (ngModelChange)=\"changeValue()\"\n                        type=\"text\" \n                        autocomplete=\"off\"\n                        [name]=\"ctl.name\" \n                        [disabled]=\"ctl.disabled || !ctl.enabled\" \n                        [readonly]=\"ctl.readonly || !ctl.editable\" \n                        [placeholder]=\"ctl.label || ctl.title || ctl.placeholder\">\n</mat-form-field>\n\n<mat-form-field *ngIf=\"ctl && ctl.visible && (ctl.datatype == 'int' || ctl.datatype == 'integer')\">\n        <input matInput [(ngModel)]=\"ctl.value\" (ngModelChange)=\"changeValue()\"\n                        type=\"number\" \n                        autocomplete=\"off\"\n                        [name]=\"ctl.name\" \n                        [disabled]=\"ctl.disabled || !ctl.enabled\" \n                        [readonly]=\"ctl.readonly || !ctl.editable\" \n                        [placeholder]=\"ctl.label || ctl.title || ctl.placeholder\">\n</mat-form-field>\n\n<mat-form-field *ngIf=\"ctl && ctl.visible && (ctl.datatype == 'double' || ctl.datatype == 'single' || ctl.datatype == 'float')\">\n        <input matInput [(ngModel)]=\"ctl.value\" (ngModelChange)=\"changeValue()\"\n                        type=\"number\"\n                        autocomplete=\"off\"\n                        [name]=\"ctl.name\" \n                        [disabled]=\"ctl.disabled || !ctl.enabled\" \n                        [readonly]=\"ctl.readonly || !ctl.editable\" \n                        [placeholder]=\"ctl.label || ctl.title || ctl.placeholder\">\n</mat-form-field>\n\n<mat-form-field *ngIf=\"ctl && ctl.visible && ctl.datatype == 'date'\">\n        <input matInput [(ngModel)]=\"ctl.value\" (ngModelChange)=\"changeValue()\"\n                        autocomplete=\"off\"\n                        [matDatepicker]=\"datepicker\"\n                        [disabled]=\"ctl.disabled || !ctl.enabled\" \n                        [readonly]=\"ctl.readonly || !ctl.editable\" \n                        [placeholder]=\"ctl.label || ctl.title || ctl.placeholder\" \n                        >\n        <mat-datepicker-toggle matSuffix [for]=\"datepicker\"></mat-datepicker-toggle>\n        <mat-datepicker #datepicker></mat-datepicker>\n</mat-form-field>\n\n<mat-form-field *ngIf=\"ctl && ctl.visible && ctl.enum && ctl.datatype == 'enum'\">\n        <mat-label>{{ ctl.label || ctl.title || ctl.placeholder }}</mat-label>\n        <mat-select [(ngModel)]=\"ctl.selected\" (ngModelChange)=\"selectItem($event)\"\n                        [disabled]=\"ctl.disabled || !ctl.enabled\">\n            <!-- <mat-option [value]=\"null\"></mat-option> -->\n            <mat-option *ngFor=\"let item of (ctl.enum || [])\" [value]=\"item\">\n                {{ item.display }}\n            </mat-option>\n        </mat-select>\n</mat-form-field>\n\n        <!-- \n                [checked]=\"allComplete\"\n                [indeterminate]=\"someComplete()\" \n                [readonly]=\"ctl.readonly || !ctl.editable\" \n        -->\n\n        <mat-checkbox *ngIf=\"ctl && ctl.visible && (ctl.datatype == 'boolean' || ctl.datatype == 'bool')\" \n                [(ngModel)]=\"ctl.value\"\n                  (ngModelChange)=\"changeValue()\"\n                  [disabled]=\"ctl.disabled || !ctl.enabled\" >\n                {{ ctl.label || ctl.title || ctl.placeholder }}\n        </mat-checkbox>\n","styles":["mat-form-field{width:100%}@media (min-width:800px){:host.small{flex-basis:30%}:host.medium{flex-basis:45%}:host.large{flex-basis:100%}}@media (min-width:400px) and (max-width:800px){:host.small{flex-basis:50%}:host.medium{flex-basis:100%}:host.large{flex-basis:100%}}@media (max-width:400px){:host.small{flex-basis:100%}:host.medium{flex-basis:100%}:host.large{flex-basis:100%}}"]}]}],"members":{"ctl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":5},"arguments":["ctl"]}]}],"onChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":15,"character":5},"arguments":["change"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":22,"character":29}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"load":[{"__symbolic":"method"}],"setSize":[{"__symbolic":"method"}],"changeValue":[{"__symbolic":"method"}],"selectItem":[{"__symbolic":"method"}]}},"ɵbk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"time-event-card","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":7,"character":19},"member":"Emulated"},"template":"<div class=\"time\">\n    <span class=\"starts\" *ngIf=\"!event.allday\">{{ event.starts | date:'d MMM yyyy HH:mm' }}</span>\n    <span class=\"ends\" *ngIf=\"!event.allday && event.ends\"> - {{ event.ends | date:'d MMM yyyy HH:mm' }}</span>\n\n    <span class=\"starts\" *ngIf=\"event.allday\">{{ event.starts | date:'d MMM yyyy' }}</span>\n    <span class=\"ends\" *ngIf=\"event.allday && event.ends\"> - {{ event.ends | date:'d MMM yyyy' }}</span>\n    <span class=\"allday\" *ngIf=\"event.allday\"> - All day</span>\n</div>\n\n<h5 (click)=\"select(event)\">{{event.name}}</h5>\n\n    <mat-chip-list aria-label=\"Tags\" *ngIf=\"event.tags\">\n        <span *ngFor=\"let tagset of Object.keys(event.tags)\">\n            <mat-chip color=\"secondary\" selected *ngIf=\"!isArray( event.tags[tagset] )\">{{ event.tags[tagset] }}</mat-chip>\n            <span *ngIf=\"isArray( event.tags[tagset] )\">\n                <mat-chip color=\"secondary\" selected *ngFor=\"let tag of event.tags[tagset]\">{{ tag }}</mat-chip>\n            </span>\n        </span>\n    </mat-chip-list>\n\n    <!-- <mat-chip-list aria-label=\"Resources\" *ngIf=\"event.resources\">\n        <span *ngFor=\"let relation of Object.keys(event.resources)\">\n            <mat-chip color=\"secondary\" selected *ngIf=\"!isArray( event.resources[relation] )\">{{ event.resources[relation] }}</mat-chip>\n            <span *ngIf=\"isArray( event.resources[relation] )\">\n                <mat-chip color=\"secondary\" selected *ngFor=\"let res of event.resources[relation]\">{{ res }}</mat-chip>\n            </span>\n        </span>\n    </mat-chip-list> -->\n","styles":["h5{padding-top:0;margin-top:0;cursor:pointer}.allday,.ends,.starts{font-size:small;color:#2f2f2f}mat-chip.mat-chip.mat-standard-chip{font-size:small;min-height:24px}"]}]}],"members":{"event":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":5},"arguments":["timeEvent"]}]}],"onSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":14,"character":5},"arguments":["select"]}]}],"onEdit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":17,"character":5},"arguments":["edit"]}]}],"__ctor__":[{"__symbolic":"constructor"}],"select":[{"__symbolic":"method"}],"edit":[{"__symbolic":"method"}],"isArray":[{"__symbolic":"method"}]}},"ɵbl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":21,"character":1},"arguments":[{"selector":"event-form","template":"<div class=\"event-form\" *ngIf=\"event\">\n\n  <mat-form-field>\n    <input matInput type=\"text\" name=\"name\" [placeholder]=\"i18n.get('event-name', 'Title')\" [(ngModel)]=\"event.name\"\n      [readonly]=\"false\" autocomplete=\"off\">\n  </mat-form-field>\n\n  <!-- <mat-checkbox name=\"planned\" [(ngModel)]=\"event.planned\" >Planned</mat-checkbox> -->\n  <div class=\"event-row\">\n    <mat-checkbox name=\"active\" [(ngModel)]=\"event.active\">Active</mat-checkbox>\n\n    <mat-checkbox name=\"allday\" [(ngModel)]=\"event.allday\">All Day</mat-checkbox>\n  </div>\n\n  <div class=\"event-row\">\n    <div class=\"event-row\" cellspacing=\"0\">\n      <mat-form-field>\n        <input matInput [placeholder]=\"i18n.get('event_start_date', 'Starting')\" autocomplete=\"off\"\n            (ngModelChange)=\"startDateChanged($event)\"\n            [matDatepicker]=\"startDatepicker\" [(ngModel)]=\"event.starts\">\n        <mat-datepicker-toggle matSuffix [for]=\"startDatepicker\"></mat-datepicker-toggle>\n        <mat-datepicker #startDatepicker></mat-datepicker>\n      </mat-form-field>\n\n      <!-- <mat-form-field>\n                  <ngx-timepicker-field [(ngModel)]=\"event.starts\" [defaultTime]=\"'11:11 am'\"></ngx-timepicker-field>\n              </mat-form-field> -->\n\n      <mat-form-field *ngIf=\"!event.allday\">\n        <input matInput placeholder=\"Time\" autocomplete=\"off\" [(ngModel)]=\"startTime\"\n              (ngModelChange)=\"startTimeChanged($event)\" \n              [ngxTimepicker]=\"fromTime\" [format]=\"12\" [disableClick]=\"true\">\n        <ngx-material-timepicker-toggle matSuffix [for]=\"fromTime\">\n          <button mat-icon-button type=\"button\" ngxMaterialTimepickerToggleIcon>\n            <mat-icon>access_time</mat-icon>\n          </button>\n          <!-- <mat-icon ngxMaterialTimepickerToggleIcon>access_time</mat-icon> -->\n        </ngx-material-timepicker-toggle>\n        <ngx-material-timepicker #fromTime></ngx-material-timepicker>\n      </mat-form-field>\n\n    </div>\n\n    <div class=\"event-row\" cellspacing=\"0\">\n\n      <mat-form-field>\n        <input matInput [placeholder]=\"i18n.get('event_end_date', 'Ending')\" autocomplete=\"off\"\n            (ngModelChange)=\"endDateChanged($event)\"\n            [matDatepicker]=\"endDatepicker\" [(ngModel)]=\"event.ends\">\n        <mat-datepicker-toggle matSuffix [for]=\"endDatepicker\"></mat-datepicker-toggle>\n        <mat-datepicker #endDatepicker></mat-datepicker>\n      </mat-form-field>\n\n      <!-- <mat-form-field>\n                <ngx-timepicker-field [(ngModel)]=\"event.starts\" [defaultTime]=\"'11:11 am'\"></ngx-timepicker-field>\n            </mat-form-field> -->\n\n      <mat-form-field *ngIf=\"!event.allday\">\n        <input matInput placeholder=\"Time\" autocomplete=\"off\" [(ngModel)]=\"endTime\"\n              (ngModelChange)=\"endTimeChanged($event)\" \n              [ngxTimepicker]=\"toTime\" [format]=\"12\" [disableClick]=\"true\">\n        <ngx-material-timepicker-toggle matSuffix [for]=\"toTime\">\n          <button mat-icon-button type=\"button\" ngxMaterialTimepickerToggleIcon>\n            <mat-icon>access_time</mat-icon>\n          </button>\n        </ngx-material-timepicker-toggle>\n        <ngx-material-timepicker #toTime></ngx-material-timepicker>\n      </mat-form-field>\n    </div>\n  </div>\n\n  <mat-form-field *ngFor=\"let tagset of tagsets\">\n      <mat-label>{{ tagset.name }}</mat-label>\n      <mat-select [multiple]=\"!tagset.disjoint\" [(ngModel)]=\"event.tags[tagset.code]\"\n            (selectionChange)=\"tagsChanged(tagset, $event)\">\n            <!-- <mat-option *ngIf=\"tagset.disjoint\" [value]=\"null\"></mat-option> -->\n        <mat-option *ngFor=\"let tag of tagset.tags\" [value]=\"tag.code\">{{ tag.name }}</mat-option>\n      </mat-select>\n  </mat-form-field>\n\n  <!-- <mat-form-field>\n    <mat-chip-list #resChips aria-label=\"Related to..\">\n      <mat-chip *ngFor=\"let res of event.resources\" [selectable]=\"true\" [removable]=\"true\"\n        (removed)=\"unrelate(related, res)\">\n        {{ res }}\n        <mat-icon matChipRemove>cancel</mat-icon>\n      </mat-chip>\n      <input #resInput [placeholder]=\"i18n.get('event-resources', 'Related to..')\" [readonly]=\"false\"\n        [matChipInputFor]=\"resChips\" [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\n        [matChipInputAddOnBlur]=\"addOnBlur\" (matChipInputTokenEnd)=\"relate($event)\" [formControl]=\"resourcesCtl\"\n        [matAutocomplete]=\"auto\">\n    </mat-chip-list>\n\n    <mat-autocomplete #auto=\"matAutocomplete\" autoActiveFirstOption (optionSelected)=\"selectedRes($event)\">\n      <mat-option *ngIf=\"isLoading\" class=\"is-loading\">Loading...</mat-option>\n      <ng-container *ngIf=\"!isLoading\">\n        <mat-option *ngFor=\"let res of filteredRes\" [value]=\"user\">\n          <span><b>{{ res.name }}</b></span>\n        </mat-option>\n      </ng-container>\n    </mat-autocomplete>\n\n  </mat-form-field> -->\n\n  <!-- <mat-form-field *ngIf=\"!message.sender\"> \n            <mat-chip-list #toChips aria-label=\"Send to..\">\n                <mat-chip *ngFor=\"let user of to_users\" [selectable]=\"selectable\"\n                         [removable]=\"removable\" (removed)=\"remove(to_users, user)\">\n                  {{user.full_name || user.username}}\n                  <mat-icon matChipRemove *ngIf=\"removable\">cancel</mat-icon>\n                </mat-chip>\n                <input #toUserInput [placeholder]=\"i18n.get('mailTo', 'To..')\" \n                       [readonly]=\"!!message.sender\"\n                       [matChipInputFor]=\"toChips\"\n                       [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\n                       [matChipInputAddOnBlur]=\"addOnBlur\"\n                       (matChipInputTokenEnd)=\"add($event)\"\n                       [formControl]=\"toUsersCtl\" \n                       [matAutocomplete]=\"auto\" >\n              </mat-chip-list>\n  \n              <mat-autocomplete #auto=\"matAutocomplete\" autoActiveFirstOption (optionSelected)=\"selected($event)\">\n                  <mat-option *ngIf=\"isLoading\" class=\"is-loading\">Loading...</mat-option>\n                  <ng-container *ngIf=\"!isLoading\">\n                    <mat-option *ngFor=\"let user of filteredTo\" [value]=\"user\">\n                      <span><b>{{user.username}}</b> ({{user.full_name}})</span>\n                    </mat-option>\n                  </ng-container>\n              </mat-autocomplete>\n  \n          </mat-form-field>\n  \n          <mat-form-field  *ngIf=\"!message.sender\" >\n            <input matInput type=\"text\" name=\"subject\" \n                    [placeholder]=\"i18n.get('mailSubject', 'Subject')\" \n                    [(ngModel)]=\"message.subject\" \n                    [readonly]=\"!!message.sender\"\n                    autocomplete=\"off\">\n          </mat-form-field> -->\n\n  <!-- <mat-list *ngIf=\"!!message.sender\">\n  \n              <mat-chip-list  *ngIf=\"message.to_user\" >\n                To:&nbsp;<span ></span>\n                        <mat-chip *ngFor=\"let a_user of message.to_user\">{{a_user?.full_name}}</mat-chip>\n                    </mat-chip-list>\n\n                    <mat-divider></mat-divider>\n              <mat-list-item>{{message.subject}}</mat-list-item>\n              <mat-divider></mat-divider>\n              <mat-list-item> Sent {{message.sent}} by&nbsp;<strong>{{message.sender?.full_name}}</strong></mat-list-item>\n            </mat-list> -->\n\n  <mat-form-field>\n    <textarea matInput placeholder=\"Description\" [(ngModel)]=\"event.body\"></textarea>\n    <!-- <angular-editor class=\"kolkov-editor\" [placeholder]=\"'Enter message here...'\" [(ngModel)]=\"event.body\">\n    </angular-editor> -->\n\n    <!-- <ckeditor class=\"ckeditor\" [(ngModel)]=\"message.body\" [editor]=\"CKEditor\"></ckeditor> -->\n\n    <!-- <div *ngIf=\"message.sender && message.type=='mail'\" class=\"body-viewer\" [innerHTML]=\"message.body\"></div>\n  \n              <div *ngIf=\"message.sender && message.type != 'mail'\" class=\"body-embedded\" id=\"body_embedded\" #body_embedded>\n              </div> -->\n\n    <!-- <div class=\"message-actions\">\n                  <button mat-button type=\"submit\" color=\"primary\" *ngIf=\"!loading && !message.sender\" (click)=\"doSend()\">\n                      <mat-icon>send</mat-icon>Send\n                  </button>\n  \n                  <button mat-button type=\"submit\" color=\"primary\" *ngIf=\"!loading && !message.sender\" (click)=\"doSave()\">\n                      <mat-icon>save</mat-icon>Save Draft\n                  </button>\n  \n                  <button mat-button type=\"submit\" color=\"primary\" *ngIf=\"!loading\" (click)=\"doReply()\">\n                      <mat-icon>reply</mat-icon>Reply\n                  </button>\n  \n                  <button mat-button type=\"submit\" color=\"primary\" *ngIf=\"!loading\" (click)=\"doForward()\">\n                      <mat-icon>forward</mat-icon>Forward\n                  </button>\n  \n                  <mat-spinner *ngIf=\"loading\"></mat-spinner>\n              </div> -->\n\n  </mat-form-field>\n  <!-- <textarea matInput type=\"text\" name=\"body\" placeholder=\"Body\" [(ngModel)]=\"message.body\" autocomplete=\"off\"></textarea> -->\n  <!-- </mat-form-field> -->\n\n\n  <!-- <mat-checkbox name=\"remember\" [(ngModel)]=\"isRememberMe\" >Remember me!</mat-checkbox> -->\n\n\n  <!-- </form> -->\n\n  <div class=\"toolbar\">\n    <button mat-button type=\"button\" (click)=\"doSave()\" *ngIf=\"canEdit\">{{ i18n.get('save', 'Save') }}</button>\n    <button mat-button type=\"button\" (click)=\"doCancel()\" *ngIf=\"canEdit\">{{ i18n.get('cancel', 'Cancel') }}</button>\n  </div>\n\n</div>","styles":[".event-form{display:flex;flex-direction:column;padding:1em;height:100%;max-width:54rem;margin:auto}.event-form .event-row{display:flex;flex-wrap:wrap}.event-form .event-row .event-row,.event-form .event-row .mat-checkbox{flex:1}.toolbar{display:flex;flex-direction:row;padding:.5rem}.toolbar>*{flex:1}@media (min-width:900px){.message-main{flex:1;display:flex;flex-direction:row;align-items:flex-start}.message-actions{display:flex;flex-direction:column}.ckeditor,ckeditor{flex:1!important;width:100%;height:100%}::ng-deep ckeditor .ck-editor.ck-reset{height:calc(100% - 3em)}::ng-deep ckeditor .ck-editor__main{height:100%}::ng-deep ckeditor .ck-content.ck-editor__editable{height:100%}::ng-deep .message-main button .mat-button-wrapper{display:flex;flex-direction:column;align-items:center;padding:.5em}}@media (max-width:900px){.message-main{flex:1;display:flex;flex-direction:column;align-items:flex-start}.message-actions{display:flex;flex-direction:row}::ng-deep .message-main button .mat-button-wrapper{display:flex;flex-direction:column;align-items:center;padding:.5em}}.ckeditor,ckeditor{width:100%}::ng-deep ckeditor .ck-content.ck-editor__editable{min-height:8em}mat-spinner{margin:auto}.body-viewer{flex:1;border:1px solid gray;padding:1rem;box-shadow:2px 2px 2px 2px #dcdcdc;background:#f8f8ff}.body-embedded{flex:1;border:1px solid gray;padding:1rem;box-shadow:inset 2px 2px 2px 2px #dcdcdc;background:#f8f8ff}.example-large-box{display:flex;align-items:center;justify-content:center;margin:16px;padding:16px;border-radius:8px;height:100%;width:100%}input[readonly]{color:gray}"]}]}],"members":{"event":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3},"arguments":["event"]}]}],"tagsets":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3},"arguments":["tagsets"]}]}],"resInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":55,"character":3},"arguments":["resInput",{"static":true}]}]}],"canEdit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":3},"arguments":["canEdit"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ess-plugin-base","name":"SessionProvider","line":92,"character":33},{"__symbolic":"reference","module":"ess-plugin-base","name":"I18N","line":92,"character":63},{"__symbolic":"reference","module":"@angular/material","name":"MatSnackBar","line":95,"character":23},{"__symbolic":"reference","name":"TimeProvider"},{"__symbolic":"reference","name":"ɵbm"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"readTimes":[{"__symbolic":"method"}],"startDateChanged":[{"__symbolic":"method"}],"endDateChanged":[{"__symbolic":"method"}],"startTimeChanged":[{"__symbolic":"method"}],"endTimeChanged":[{"__symbolic":"method"}],"tagsChanged":[{"__symbolic":"method"}],"relate":[{"__symbolic":"method"}],"unrelate":[{"__symbolic":"method"}],"selectedRes":[{"__symbolic":"method"}],"doSave":[{"__symbolic":"method"}],"doCancel":[{"__symbolic":"method"}]}},"ɵbm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":14,"character":30},{"__symbolic":"reference","module":"ess-plugin-base","name":"I18N","line":14,"character":55}]}],"registerResourceType":[{"__symbolic":"method"}],"getTitle":[{"__symbolic":"method"}],"getIcon":[{"__symbolic":"method"}],"getResources":[{"__symbolic":"method"}]},"statics":{"resourceTypes":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Map"}},"ngInjectableDef":{}}},"ɵbn":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"event-timeline","template":"<div class=\"timeline\">\n    \n\n    <div class=\"  container \" *ngFor=\"let item of data;let i=index\" \n                [class.right]=\"i % 2 == 1\" [class.left]=\"i % 2 == 0\">\n        <div  [class.content]=\"true\">\n            <time-event-card [timeEvent]=\"item\" (select)=\"select(item)\"></time-event-card>\n\n            <!-- <h5>{{obj.name}}</h5>\n            <div class=\"time\">\n                <span class=\"starts\">{{ obj.starts | date:'d MMM yyyy HH:mm' }}</span>\n                <span class=\"ends\" *ngIf=\"obj.ends\">- {{ obj.ends | date:'d MMM yyyy HH:mm' }}</span>\n            </div> -->\n\n            <!-- <p> {{obj.body}}</p> -->\n            <!-- <div class=\"footer\">\n                    <a href=\"javascript: ;\" class = \"button\" (click)=\"like()\"  > Like </a>\n                    <a href=\"javascript: ;\" class=\"button\" (click)= \"dislike()\" > Dislike </a>\n                    <a href=\"javascript: ;\" class=\"button\" (click)= \"comment()\" > Comment </a>\n            </div> -->\n        </div>\n    </div>\n\n</div>\n","styles":["*{box-sizing:border-box}body{background-color:#f8f8ff;font-family:Helvetica,sans-serif}.timeline{position:relative;max-width:1200px;background:#f8f8ff;margin:0 auto}.timeline::after{content:\"\";position:absolute;width:6px;background-color:#16235a;top:0;bottom:0;left:50%;transform:translateX(-50%)}.timeline .container{padding:10px 20px;position:relative;background-color:inherit;width:50%;max-width:100%;margin:unset}.timeline .container::after{content:\"\";position:absolute;width:13px;height:13px;top:calc(7px + 5px);transform:translateX(-50%);background-color:#16235a;border:4px solid #f8f8ff;border-radius:50%;z-index:1}.timeline .container.left{left:0;padding-right:calc(7px + 10px)}.timeline .container.right{left:50%;padding-left:calc(7px + 10px)}.timeline .container.left::after{left:100%}.timeline .container.right::after{left:0}.left::before{content:\" \";height:0;position:absolute;top:15px;width:0;z-index:1;left:calc(100% - 7px - 10px);border:solid #e8e8e8;border-width:7px 0 7px 7px;border-color:transparent transparent transparent #e8e8e8}.right::before{content:\" \";height:0;position:absolute;top:15px;width:0;z-index:1;right:calc(100% - 7px - 10px);border:solid #e8e8e8;border-width:7px 7px 7px 0;border-color:transparent #e8e8e8 transparent transparent}.timeline .container .content{padding:12px;background-color:#e8e8e8;border:1px solid #e8e8e8;position:relative;size:initial;border-radius:6px;transition:border-color .3s,background-color .3s}.button{background-color:#16235a;color:#f8f8ff;border-radius:13px;-webkit-text-decoration-line:none;text-decoration-line:none;-webkit-user-modify:read-write-plaintext-only}.timeline .container::after,.timeline .container::before{transition:border-color .3s}.timeline .container:hover .content{background-color:#fff;border-color:#16235a}.timeline .container:hover::after{border-color:#fff}.timeline .container:hover.left::before{border-left-color:#16235a}.timeline .container:hover.right::before{border-right-color:#16235a}.content h2{padding-top:0;margin-top:0}.content .footer{display:flex;justify-content:space-around}@media screen and (max-width:600px){.timeline::after{left:calc(100% - 7px - 10px)}.timeline .container{width:calc(100% - 17px)}.timeline .container:hover.right::before{border-left-color:#16235a!important}.timeline .container.right{left:0;padding-right:calc(7px + 10px)}.timeline .container.right::after{left:100%}.right::before{content:\" \";height:0;position:absolute;top:15px;width:0;z-index:1;left:calc(100% - 7px - 10px);border:solid #e8e8e8;border-width:7px 0 7px 7px;border-color:transparent transparent transparent #e8e8e8}}"]}]}],"members":{"filter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":5},"arguments":["filter"]}]}],"tagsets":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":5},"arguments":["tagsets"]}]}],"onSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":18,"character":5},"arguments":["select"]}]}],"onEdit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":21,"character":5},"arguments":["edit"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TimeProvider"},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":31,"character":63}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"fetch":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"edit":[{"__symbolic":"method"}]}},"ɵbo":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":22,"character":1},"arguments":[{"selector":"event-selector","template":"<div class=\"event-selector\">\n\n        <div class=\"event-row\">\n                <mat-form-field>\n                        <mat-label>Year</mat-label>\n                        <mat-select [(ngModel)]=\"year\">\n                              <mat-option *ngFor=\"let yr of allyears\" [value]=\"yr\">{{ yr }}</mat-option>\n                        </mat-select>\n                </mat-form-field>\n\n                <mat-form-field>\n                        <mat-label>Month</mat-label>\n                        <mat-select [(ngModel)]=\"month\">\n                              <mat-option *ngFor=\"let mo of allmonths; let i = index\" [value]=\"i\">{{ mo }}</mat-option>\n                        </mat-select>\n                </mat-form-field>\n        </div>\n\n        <mat-form-field>\n          <input matInput type=\"text\" name=\"name\" [placeholder]=\"i18n.get('event-name', 'Title')\" [(ngModel)]=\"phrase\"\n                [readonly]=\"false\" autocomplete=\"off\">\n        </mat-form-field>\n      \n        <div class=\"event-row\">\n          <mat-checkbox name=\"planned\" [(ngModel)]=\"planned\">Planned</mat-checkbox>\n      \n          <mat-checkbox name=\"allday\" [(ngModel)]=\"allday\">All Day</mat-checkbox>\n        </div>\n      \n        <!-- <div class=\"event-row\">\n            <mat-form-field *ngIf=\"!allday\">\n              <input matInput placeholder=\"Time\" autocomplete=\"off\" [(ngModel)]=\"startTime\"\n                (ngModelChange)=\"startTimeChanged($event)\" [ngxTimepicker]=\"fromTime\" [disableClick]=\"true\">\n              <ngx-material-timepicker-toggle matSuffix [for]=\"fromTime\">\n                <button mat-icon-button type=\"button\" ngxMaterialTimepickerToggleIcon>\n                  <mat-icon>access_time</mat-icon>\n                </button>\n              </ngx-material-timepicker-toggle>\n              <ngx-material-timepicker #fromTime></ngx-material-timepicker>\n            </mat-form-field>\n      \n            <mat-form-field *ngIf=\"!allday\">\n              <input matInput placeholder=\"Time\" autocomplete=\"off\" [(ngModel)]=\"endTime\"\n                (ngModelChange)=\"endTimeChanged($event)\" [ngxTimepicker]=\"toTime\" [disableClick]=\"true\">\n              <ngx-material-timepicker-toggle matSuffix [for]=\"toTime\">\n                <button mat-icon-button type=\"button\" ngxMaterialTimepickerToggleIcon>\n                  <mat-icon>access_time</mat-icon>\n                </button>\n              </ngx-material-timepicker-toggle>\n              <ngx-material-timepicker #toTime></ngx-material-timepicker>\n            </mat-form-field>\n          </div>\n        </div> -->\n      \n        <mat-form-field *ngFor=\"let tagset of tagsets\">\n            <mat-label>{{ tagset.name }}</mat-label>\n            <mat-select [multiple]=\"!tagset.disjoint\" [(ngModel)]=\"tags[tagset.code]\"\n              (selectionChange)=\"tagsChanged(tagset, $event)\">\n              <mat-option *ngIf=\"tagset.disjoint\" [value]=\"null\"></mat-option>\n              <mat-option *ngFor=\"let tag of tagset.tags\" [value]=\"tag.code\">{{ tag.name }}</mat-option>\n            </mat-select>\n        </mat-form-field>\n      \n        <mat-form-field>\n          <mat-chip-list #resChips aria-label=\"Related to..\">\n            <mat-chip *ngFor=\"let res of related\" [selectable]=\"true\" [removable]=\"true\"\n              (removed)=\"unrelate(related, res)\">\n              {{ res.name }}\n              <mat-icon matChipRemove>cancel</mat-icon>\n            </mat-chip>\n            <input #resInput [placeholder]=\"i18n.get('event-resources', 'Related to..')\" [readonly]=\"false\"\n              [matChipInputFor]=\"resChips\" [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\n              [matChipInputAddOnBlur]=\"addOnBlur\" (matChipInputTokenEnd)=\"restart($event)\" [formControl]=\"resourcesCtl\"\n              [matAutocomplete]=\"autoRes\">\n          </mat-chip-list>\n      \n          <mat-autocomplete #autoRes=\"matAutocomplete\" autoActiveFirstOption (optionSelected)=\"selectedRes($event)\">\n            <mat-option *ngIf=\"isLoading\" class=\"is-loading\">Loading...</mat-option>\n            <ng-container *ngIf=\"!isLoading\">\n              <mat-option *ngFor=\"let res of filteredRes\" [value]=\"res\">\n                <span><b>{{ res.name }}</b></span>\n              </mat-option>\n            </ng-container>\n          </mat-autocomplete>\n      \n        </mat-form-field>\n      \n        <div class=\"toolbar\">\n          <button mat-button type=\"button\" (click)=\"doFilter()\">{{ i18n.get('proceed', 'Proceed') }}</button>\n        </div>\n      \n      </div>","styles":[".event-selector{display:flex;flex-direction:column;padding:1em;height:100%;max-width:54rem;margin:auto}.event-selector .event-row{display:flex;flex-wrap:wrap}.event-selector .event-row .event-row,.event-selector .event-row .mat-checkbox,.event-selector .event-row .mat-form-field{flex:1}.toolbar{display:flex;flex-direction:row;padding:.5rem}.toolbar>*{flex:1}mat-spinner{margin:auto}input[readonly]{color:gray}"]}]}],"members":{"viewDate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":3},"arguments":["viewDate"]}]}],"tagsets":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":3},"arguments":["tagsets"]}]}],"onFilter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":60,"character":3},"arguments":["onFilter"]}]}],"resInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":71,"character":4},"arguments":["resInput",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ess-plugin-base","name":"SessionProvider","line":81,"character":33},{"__symbolic":"reference","module":"ess-plugin-base","name":"I18N","line":81,"character":63},{"__symbolic":"reference","name":"TimeProvider"},{"__symbolic":"reference","name":"ɵbm"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"tagsChanged":[{"__symbolic":"method"}],"restart":[{"__symbolic":"method"}],"unrelate":[{"__symbolic":"method"}],"selectedRes":[{"__symbolic":"method"}],"doFilter":[{"__symbolic":"method"}]}},"ɵbp":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"month-calendar","template":"<div class=\"toolbar\" *ngIf=\"!hideNavigation\">\n        <button mat-icon-button (click)=\"backMonth()\">\n          <mat-icon aria-hidden=\"false\" aria-label=\"Back\">arrow_back_ios</mat-icon>\n        </button>\n      \n        <span class=\"title\">{{ month.name + ' ' + month.year}}</span>\n\n        <button mat-icon-button (click)=\"nextMonth()\">\n          <mat-icon aria-hidden=\"false\" aria-label=\"Next\">arrow_forward_ios</mat-icon>\n        </button>\n</div>\n\n<!-- <mat-calendar></mat-calendar> -->\n<table>\n\n    <thead>\n        <th *ngFor=\"let w of [0,1,2,3,4,5,6]\">\n            {{ dayNames[w] }}\n        </th>\n    </thead>\n    <tbody>\n        <tr *ngFor=\"let r of [0,1,2,3,4]\">\n            <td *ngFor=\"let c of [0,1,2,3,4,5,6]\" [class.day]=\"cells[r][c]?.date\" \n                    [class.today]=\"cells[r][c] && isToday(cells[r][c].date)\"\n                    (click)=\"selectDate(cells[r][c].date)\">\n\n                <span class=\"day-number\" *ngIf=\"cells[r][c] && cells[r][c].date\">\n                    {{ cells[r][c].date | date:'d' }}\n                </span>\n\n                <span class=\"alldays\" *ngIf=\"cells[r][c] && cells[r][c].marks && cells[r][c].marks.length > 2\">\n                    {{ cells[r][c].marks.length }} marks\n                </span>\n                <span class=\"event-alldays\" *ngIf=\"cells[r][c] && cells[r][c].marks && cells[r][c].marks.length <= 2\">\n                    <span class=\"event-allday\" *ngFor=\"let mark of cells[r][c].marks\">\n                        {{ mark.name }}\n                    </span>\n                </span>\n    \n                <span class=\"event-times\" *ngIf=\"cells[r][c] && cells[r][c].times && cells[r][c].times.length > 2\">\n                    {{ cells[r][c].times.length }} events\n                </span>\n                <span class=\"event-times\" *ngIf=\"cells[r][c] && cells[r][c].times && cells[r][c].times.length <= 2\">\n                    <span class=\"event-timed\" *ngFor=\"let time of cells[r][c].times\">\n                        {{ time.name }}\n                    </span>\n                </span>\n            </td>\n        </tr>\n    </tbody>\n</table>","styles":[".toolbar{display:flex;flex-wrap:wrap;min-height:3rem;align-items:center}.toolbar .title{flex:1;text-align:center}table{width:100%;text-align:center;vertical-align:middle;border-collapse:separate}table thead th{width:10%}table tbody tr td.day{position:relative;height:8rem;border:1px solid #dcdcdc;transition:.3s}table tbody tr td.day .day-number{font-weight:400}table tbody tr td.day.today .day-number{display:inline-block;width:2.5rem;height:2.5rem;border:2px solid #a9a9a9;border-radius:50%;padding:.3rem}table tbody tr td.day .event-alldays{color:#00008b;font-size:smaller;display:block;position:absolute;top:0;width:100%}table tbody tr td.day .event-alldays .event-allday{display:block;max-height:1.25rem;overflow:hidden}table tbody tr td.day .event-times{color:#00008b;font-size:smaller;display:block;position:absolute;top:0;width:100%;max-height:2.5rem}table tbody tr td.day .event-times .event-timed{display:block;max-height:1.25rem;overflow:hidden}table tbody tr td.day:hover{background-color:#e8e8e8}"]}]}],"members":{"viewDate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":5},"arguments":["viewDate"]}]}],"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":5},"arguments":["data"]}]}],"filter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":5},"arguments":["filter"]}]}],"hideNavigation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":5},"arguments":["hideNavigation"]}]}],"onDateSelected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":5},"arguments":["dateSelected"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TimeProvider"},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":41,"character":64}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"fillCells":[{"__symbolic":"method"}],"fetch":[{"__symbolic":"method"}],"render":[{"__symbolic":"method"}],"selectDate":[{"__symbolic":"method"}],"backMonth":[{"__symbolic":"method"}],"nextMonth":[{"__symbolic":"method"}],"isToday":[{"__symbolic":"method"}]},"statics":{"monthNames":["January","February","March","April","May","June","July","August","September","October","November","December"],"dayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]}},"ɵbq":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"event-viewer","template":"<mat-tab-group class=\"autosize\" [(selectedIndex)]=\"activeTab\" (selectedIndexChange)=\"tabChanged($event)\">\n\n        <mat-tab>\n            <ng-template mat-tab-label>\n                    <span class=\"title\">{{ title }}</span>\n            </ng-template>\n            <event-selector [viewDate]=\"viewDate\" [tagsets]=\"tagsets\" (onFilter)=\"gotoMonth($event)\"></event-selector>\n        </mat-tab>\n\n\n        <mat-tab>\n          <ng-template mat-tab-label>\n                <span class=\"title\">{{ month.name + ' ' + month.year}}</span>\n          </ng-template>\n          <month-calendar [viewDate]=\"viewDate\" [data]=\"events\" \n                [filter]=\"monthFilter\" hideNavigation\n                (dateSelected)=\"dateSelected($event)\"></month-calendar>\n        </mat-tab>\n\n        <mat-tab *ngIf=\"showTimeline\">\n            <ng-template mat-tab-label>\n                    <span class=\"title\">Agenda</span>\n            </ng-template>\n\n            <event-timeline [filter]=\"timelineFilter\" [tagsets]=\"tagsets\" (select)=\"gotoEvent($event)\"></event-timeline>\n        </mat-tab>\n\n        <mat-tab *ngIf=\"showEvent\">\n                <ng-template mat-tab-label>\n                      <span class=\"title\">Event Details</span>\n                </ng-template>\n                <event-form [event]=\"selectedEvent\" [tagsets]=\"tagsets\"></event-form>\n        </mat-tab>\n\n</mat-tab-group>\n<button mat-fab id=\"btnAddEvent\" (click)=\"doAdd()\">\n        <mat-icon>add</mat-icon>\n</button>","styles":["#btnAddEvent{position:absolute;right:2rem;bottom:2rem}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TimeProvider"},{"__symbolic":"reference","module":"ess-plugin-base","name":"I18N","line":34,"character":61}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"dateSelected":[{"__symbolic":"method"}],"tabChanged":[{"__symbolic":"method"}],"gotoTimeline":[{"__symbolic":"method"}],"gotoEvent":[{"__symbolic":"method"}],"gotoMonth":[{"__symbolic":"method"}],"doAdd":[{"__symbolic":"method"}]}}},"origins":{"UIService":"./ui.service","MY_FORMATS":"./material.module","ImportMaterialModule":"./material.module","ImportPrimeModule":"./prime.module","ToolsModule":"./tools/tools.module","ConfirmDialogData":"./tools/confirm.dialog","ConfirmDialog":"./tools/confirm.dialog","ControlModule":"./control/control.module","LayoutModule":"./grid/layout.module","NavModule":"./nav/nav.module","EFormModule":"./eform/eform.module","FileModule":"./files/file.module","FileProvider":"./files/file.provider","TimeModule":"./time/time.module","TimeProvider":"./time/time.provider","TimeEvent":"./time/time.provider","AvatarProvider":"./tools/avatar.provider","ColumnDatatype":"./table/export","HorizontalCellAlign":"./table/export","VerticalCellAlign":"./table/export","ColumnDef":"./table/export","FilterColumnDef":"./table/export","ExportProvider":"./table/export","StoredFile":"./model/file","DataItem":"./model/data.item","Constants":"./Constants","FileCard":"./files/file.card/file.card","FileLinker":"./files/file.linker/file.linker","FileLinkerUploadDirective":"./files/file.linker/file.linker.upload.directive","FileList":"./files/file.list/file.list","FileDialog":"./files/file.list/file.dialog","FileUploadDialog":"./files/file.upload/file.upload.dialog","FileDownloadProgress":"./files/download.progress/file.download.progress","FileShareDialog":"./files/file.list/share.dialog","FileTreeNode":"./files/file.tree/file.tree.node","FileTree":"./files/file.tree/file.tree","FileSearchbox":"./files/file.searchbox/file.searchbox","FileExplorer":"./files/file.explorer/file.explorer","FolderDialog":"./files/file.tree/folder.dialog","ɵa":"./table/prime.table","ɵb":"./tools/avatar.directive","ɵc":"./tools/input.accept.directive","ɵd":"./tools/filedrop.directive","ɵe":"./tools/longfilename.pipe","ɵf":"./tools/time.label","ɵg":"./link/res.link","ɵh":"./tools/styled.span","ɵi":"./control/input.string","ɵj":"./control/input.number","ɵk":"./control/input.chips","ɵl":"./control/input.select","ɵm":"./control/input.boolean","ɵn":"./control/input.date","ɵo":"./control/input.time","ɵp":"./control/input.menu","ɵq":"./control/lookup.menu","ɵr":"./control/lookup.tree","ɵs":"./control/anim.tree","ɵt":"./control/search.tree","ɵu":"./control/list","ɵv":"./grid/grid","ɵw":"./grid/row","ɵx":"./grid/col","ɵy":"./grid/tile","ɵz":"./grid/header","ɵba":"./grid/toolbar","ɵbb":"./tabs/tabset","ɵbc":"./tabs/tab","ɵbd":"./pane/split.panes.old","ɵbe":"./pane/split.panes","ɵbf":"./nav/breadcrumbs","ɵbg":"./eform/eform","ɵbh":"./eform/page","ɵbi":"./eform/section","ɵbj":"./eform/field","ɵbk":"./time/card/event.card","ɵbl":"./time/form/event.form","ɵbm":"./search.provider","ɵbn":"./time/timeline/event.timeline","ɵbo":"./time/selector/event.selector","ɵbp":"./time/calendar/month.calendar","ɵbq":"./time/viewer/event.viewer"},"importAs":"ess-plugin-ui"}