@inspark/inspark-components 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/full/assets/error.svg +6 -0
  2. package/full/assets/falsevalue.svg +6 -0
  3. package/full/assets/icon.svg +6 -0
  4. package/full/assets/none.svg +6 -0
  5. package/full/assets/success.svg +6 -0
  6. package/full/assets/warning.svg +6 -0
  7. package/full/bundles/inspark-inspark-components.umd.js +3758 -0
  8. package/full/bundles/inspark-inspark-components.umd.js.map +1 -0
  9. package/full/bundles/inspark-inspark-components.umd.min.js +16 -0
  10. package/full/bundles/inspark-inspark-components.umd.min.js.map +1 -0
  11. package/full/components/breadcrumb/breadcrumb.component.d.ts +7 -0
  12. package/full/components/button/button.component.d.ts +57 -0
  13. package/full/components/checkbox/checkbox.component.d.ts +36 -0
  14. package/full/components/communication.service.d.ts +6 -0
  15. package/full/components/component-container/component-container.component.d.ts +5 -0
  16. package/full/components/content-toggle/content-toggle.component.d.ts +10 -0
  17. package/full/components/dropdown/dropdown.component.d.ts +68 -0
  18. package/full/components/empty/empty.component.d.ts +2 -0
  19. package/full/components/file/file.component.d.ts +14 -0
  20. package/full/components/header/header.component.d.ts +7 -0
  21. package/full/components/inline-message/inline-message.component.d.ts +4 -0
  22. package/full/components/input-text/input-text.component.d.ts +44 -0
  23. package/full/components/inspark.module.d.ts +2 -0
  24. package/full/components/inspark.shared.d.ts +8 -0
  25. package/full/components/link/link.component.d.ts +43 -0
  26. package/full/components/modal-input-text/modal-input-text.component.d.ts +32 -0
  27. package/full/components/object-tree/object-tree.component.d.ts +5 -0
  28. package/full/components/panel/panel.component.d.ts +2 -0
  29. package/full/components/preloader/preloader.component.d.ts +10 -0
  30. package/full/components/primeng.module.d.ts +2 -0
  31. package/full/components/radiobutton/radiobutton.component.d.ts +17 -0
  32. package/full/components/select-button/select-button.component.d.ts +55 -0
  33. package/full/components/select-list/select-list.component.d.ts +25 -0
  34. package/full/components/status-circle/status-circle.component.d.ts +10 -0
  35. package/full/components/sticky/sticky.component.d.ts +20 -0
  36. package/full/components/svg/svg.component.d.ts +9 -0
  37. package/full/components/switcher/switcher.component.d.ts +45 -0
  38. package/full/components/table/table-click-outside.directive.d.ts +7 -0
  39. package/full/components/table/table-columns-multiselect/table-columns-multiselect.component.d.ts +17 -0
  40. package/full/components/table/table-menu-overlay/table-menu-overlay.component.d.ts +9 -0
  41. package/full/components/table/table.component.d.ts +95 -0
  42. package/full/components/textarea/textarea.component.d.ts +32 -0
  43. package/full/components/toolbar/toolbar.component.d.ts +14 -0
  44. package/full/components/tooltip/tooltip.component.d.ts +5 -0
  45. package/full/components/tree-table/tree-table.component.d.ts +65 -0
  46. package/full/esm2015/components/breadcrumb/breadcrumb.component.js +23 -0
  47. package/full/esm2015/components/button/button.component.js +209 -0
  48. package/full/esm2015/components/checkbox/checkbox.component.js +104 -0
  49. package/full/esm2015/components/communication.service.js +24 -0
  50. package/full/esm2015/components/component-container/component-container.component.js +20 -0
  51. package/full/esm2015/components/content-toggle/content-toggle.component.js +44 -0
  52. package/full/esm2015/components/dropdown/dropdown.component.js +346 -0
  53. package/full/esm2015/components/empty/empty.component.js +13 -0
  54. package/full/esm2015/components/file/file.component.js +65 -0
  55. package/full/esm2015/components/header/header.component.js +30 -0
  56. package/full/esm2015/components/inline-message/inline-message.component.js +25 -0
  57. package/full/esm2015/components/input-text/input-text.component.js +157 -0
  58. package/full/esm2015/components/inspark.module.js +128 -0
  59. package/full/esm2015/components/inspark.shared.js +30 -0
  60. package/full/esm2015/components/link/link.component.js +164 -0
  61. package/full/esm2015/components/modal-input-text/modal-input-text.component.js +94 -0
  62. package/full/esm2015/components/object-tree/object-tree.component.js +18 -0
  63. package/full/esm2015/components/panel/panel.component.js +13 -0
  64. package/full/esm2015/components/preloader/preloader.component.js +34 -0
  65. package/full/esm2015/components/primeng.module.js +19 -0
  66. package/full/esm2015/components/radiobutton/radiobutton.component.js +75 -0
  67. package/full/esm2015/components/select-button/select-button.component.js +176 -0
  68. package/full/esm2015/components/select-list/select-list.component.js +60 -0
  69. package/full/esm2015/components/status-circle/status-circle.component.js +51 -0
  70. package/full/esm2015/components/sticky/sticky.component.js +82 -0
  71. package/full/esm2015/components/svg/svg.component.js +36 -0
  72. package/full/esm2015/components/switcher/switcher.component.js +148 -0
  73. package/full/esm2015/components/table/table-click-outside.directive.js +38 -0
  74. package/full/esm2015/components/table/table-columns-multiselect/table-columns-multiselect.component.js +37 -0
  75. package/full/esm2015/components/table/table-menu-overlay/table-menu-overlay.component.js +35 -0
  76. package/full/esm2015/components/table/table.component.js +426 -0
  77. package/full/esm2015/components/textarea/textarea.component.js +101 -0
  78. package/full/esm2015/components/toolbar/toolbar.component.js +40 -0
  79. package/full/esm2015/components/tooltip/tooltip.component.js +18 -0
  80. package/full/esm2015/components/tree-table/tree-table.component.js +255 -0
  81. package/full/esm2015/inspark-inspark-components.js +16 -0
  82. package/full/esm2015/interface.js +1 -0
  83. package/full/esm2015/pipes/pipes.module.js +16 -0
  84. package/full/esm2015/pipes/propertyValue.pipe.js +23 -0
  85. package/full/esm2015/pipes/safeUrl.pipe.js +37 -0
  86. package/full/esm2015/pipes/sort-by.pipe.js +26 -0
  87. package/full/esm2015/pipes/time.pipe.js +201 -0
  88. package/full/esm2015/public_api.js +43 -0
  89. package/full/esm2015/services/inspark-message.service.js +73 -0
  90. package/full/esm2015/utils/gettextMarker.function.js +5 -0
  91. package/full/esm2015/utils/hybrid/prime-table/row-state.enum.js +9 -0
  92. package/full/esm2015/utils/hybrid/prime-table/table-row-data.model.js +1 -0
  93. package/full/esm5/components/breadcrumb/breadcrumb.component.js +24 -0
  94. package/full/esm5/components/button/button.component.js +212 -0
  95. package/full/esm5/components/checkbox/checkbox.component.js +106 -0
  96. package/full/esm5/components/communication.service.js +25 -0
  97. package/full/esm5/components/component-container/component-container.component.js +21 -0
  98. package/full/esm5/components/content-toggle/content-toggle.component.js +45 -0
  99. package/full/esm5/components/dropdown/dropdown.component.js +351 -0
  100. package/full/esm5/components/empty/empty.component.js +16 -0
  101. package/full/esm5/components/file/file.component.js +66 -0
  102. package/full/esm5/components/header/header.component.js +31 -0
  103. package/full/esm5/components/inline-message/inline-message.component.js +26 -0
  104. package/full/esm5/components/input-text/input-text.component.js +159 -0
  105. package/full/esm5/components/inspark.module.js +131 -0
  106. package/full/esm5/components/inspark.shared.js +31 -0
  107. package/full/esm5/components/link/link.component.js +165 -0
  108. package/full/esm5/components/modal-input-text/modal-input-text.component.js +98 -0
  109. package/full/esm5/components/object-tree/object-tree.component.js +20 -0
  110. package/full/esm5/components/panel/panel.component.js +16 -0
  111. package/full/esm5/components/preloader/preloader.component.js +35 -0
  112. package/full/esm5/components/primeng.module.js +22 -0
  113. package/full/esm5/components/radiobutton/radiobutton.component.js +76 -0
  114. package/full/esm5/components/select-button/select-button.component.js +179 -0
  115. package/full/esm5/components/select-list/select-list.component.js +62 -0
  116. package/full/esm5/components/status-circle/status-circle.component.js +52 -0
  117. package/full/esm5/components/sticky/sticky.component.js +84 -0
  118. package/full/esm5/components/svg/svg.component.js +39 -0
  119. package/full/esm5/components/switcher/switcher.component.js +150 -0
  120. package/full/esm5/components/table/table-click-outside.directive.js +39 -0
  121. package/full/esm5/components/table/table-columns-multiselect/table-columns-multiselect.component.js +38 -0
  122. package/full/esm5/components/table/table-menu-overlay/table-menu-overlay.component.js +36 -0
  123. package/full/esm5/components/table/table.component.js +446 -0
  124. package/full/esm5/components/textarea/textarea.component.js +103 -0
  125. package/full/esm5/components/toolbar/toolbar.component.js +41 -0
  126. package/full/esm5/components/tooltip/tooltip.component.js +20 -0
  127. package/full/esm5/components/tree-table/tree-table.component.js +280 -0
  128. package/full/esm5/inspark-inspark-components.js +16 -0
  129. package/full/esm5/interface.js +1 -0
  130. package/full/esm5/pipes/pipes.module.js +19 -0
  131. package/full/esm5/pipes/propertyValue.pipe.js +26 -0
  132. package/full/esm5/pipes/safeUrl.pipe.js +38 -0
  133. package/full/esm5/pipes/sort-by.pipe.js +29 -0
  134. package/full/esm5/pipes/time.pipe.js +212 -0
  135. package/full/esm5/public_api.js +43 -0
  136. package/full/esm5/services/inspark-message.service.js +78 -0
  137. package/full/esm5/utils/gettextMarker.function.js +5 -0
  138. package/full/esm5/utils/hybrid/prime-table/row-state.enum.js +9 -0
  139. package/full/esm5/utils/hybrid/prime-table/table-row-data.model.js +1 -0
  140. package/full/fesm2015/inspark-inspark-components.js +3331 -0
  141. package/full/fesm2015/inspark-inspark-components.js.map +1 -0
  142. package/full/fesm5/inspark-inspark-components.js +3464 -0
  143. package/full/fesm5/inspark-inspark-components.js.map +1 -0
  144. package/full/fonts/primeicons.eot +0 -0
  145. package/full/fonts/primeicons.svg +163 -0
  146. package/full/fonts/primeicons.ttf +0 -0
  147. package/full/fonts/primeicons.woff +0 -0
  148. package/full/index.css +4012 -0
  149. package/full/index.js +1 -0
  150. package/full/inspark-inspark-components.d.ts +15 -0
  151. package/full/inspark-inspark-components.metadata.json +1 -0
  152. package/full/interface.d.ts +25 -0
  153. package/full/package.json +26 -0
  154. package/full/pipes/pipes.module.d.ts +2 -0
  155. package/full/pipes/propertyValue.pipe.d.ts +4 -0
  156. package/full/pipes/safeUrl.pipe.d.ts +20 -0
  157. package/full/pipes/sort-by.pipe.d.ts +4 -0
  158. package/full/pipes/time.pipe.d.ts +25 -0
  159. package/full/public_api.d.ts +41 -0
  160. package/full/services/inspark-message.service.d.ts +18 -0
  161. package/full/utils/gettextMarker.function.d.ts +1 -0
  162. package/full/utils/hybrid/prime-table/row-state.enum.d.ts +7 -0
  163. package/full/utils/hybrid/prime-table/table-row-data.model.d.ts +6 -0
  164. package/interface/bundles/inspark-inspark-components.umd.js +11 -0
  165. package/interface/bundles/inspark-inspark-components.umd.js.map +1 -0
  166. package/interface/bundles/inspark-inspark-components.umd.min.js +2 -0
  167. package/interface/bundles/inspark-inspark-components.umd.min.js.map +1 -0
  168. package/interface/esm2015/inspark-inspark-components.js +4 -0
  169. package/interface/esm2015/interface.js +1 -0
  170. package/interface/esm2015/public_api.js +4 -0
  171. package/interface/esm5/inspark-inspark-components.js +4 -0
  172. package/interface/esm5/interface.js +1 -0
  173. package/interface/esm5/public_api.js +4 -0
  174. package/interface/fesm2015/inspark-inspark-components.js +4 -0
  175. package/interface/fesm2015/inspark-inspark-components.js.map +1 -0
  176. package/interface/fesm5/inspark-inspark-components.js +4 -0
  177. package/interface/fesm5/inspark-inspark-components.js.map +1 -0
  178. package/interface/inspark-inspark-components.d.ts +4 -0
  179. package/interface/inspark-inspark-components.metadata.json +1 -0
  180. package/interface/interface.d.ts +25 -0
  181. package/interface/package.json +26 -0
  182. package/interface/public_api.d.ts +1 -0
  183. package/package.json +26 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@inspark/inspark-components/pipes/propertyValue.pipe.ts","ng://@inspark/inspark-components/pipes/time.pipe.ts","ng://@inspark/inspark-components/pipes/safeUrl.pipe.ts","ng://@inspark/inspark-components/pipes/sort-by.pipe.ts","ng://@inspark/inspark-components/pipes/pipes.module.ts","ng://@inspark/inspark-components/utils/gettextMarker.function.ts","ng://@inspark/inspark-components/services/inspark-message.service.ts","ng://@inspark/inspark-components/components/communication.service.ts","ng://@inspark/inspark-components/components/button/button.component.ts","ng://@inspark/inspark-components/components/input-text/input-text.component.ts","ng://@inspark/inspark-components/components/textarea/textarea.component.ts","ng://@inspark/inspark-components/components/panel/panel.component.ts","ng://@inspark/inspark-components/components/component-container/component-container.component.ts","ng://@inspark/inspark-components/components/checkbox/checkbox.component.ts","ng://@inspark/inspark-components/components/primeng.module.ts","ng://@inspark/inspark-components/components/dropdown/dropdown.component.ts","ng://@inspark/inspark-components/components/inspark.shared.ts","ng://@inspark/inspark-components/components/table/table-columns-multiselect/table-columns-multiselect.component.ts","ng://@inspark/inspark-components/components/table/table-menu-overlay/table-menu-overlay.component.ts","ng://@inspark/inspark-components/components/table/table-click-outside.directive.ts","ng://@inspark/inspark-components/components/table/table.component.ts","ng://@inspark/inspark-components/components/empty/empty.component.ts","ng://@inspark/inspark-components/components/preloader/preloader.component.ts","ng://@inspark/inspark-components/components/sticky/sticky.component.ts","ng://@inspark/inspark-components/components/header/header.component.ts","ng://@inspark/inspark-components/components/toolbar/toolbar.component.ts","ng://@inspark/inspark-components/components/breadcrumb/breadcrumb.component.ts","ng://@inspark/inspark-components/components/file/file.component.ts","ng://@inspark/inspark-components/components/select-button/select-button.component.ts","ng://@inspark/inspark-components/components/status-circle/status-circle.component.ts","ng://@inspark/inspark-components/components/svg/svg.component.ts","ng://@inspark/inspark-components/components/switcher/switcher.component.ts","ng://@inspark/inspark-components/components/inline-message/inline-message.component.ts","ng://@inspark/inspark-components/components/link/link.component.ts","ng://@inspark/inspark-components/components/tooltip/tooltip.component.ts","ng://@inspark/inspark-components/components/tree-table/tree-table.component.ts","ng://@inspark/inspark-components/components/radiobutton/radiobutton.component.ts","ng://@inspark/inspark-components/components/select-list/select-list.component.ts","ng://@inspark/inspark-components/components/object-tree/object-tree.component.ts","ng://@inspark/inspark-components/components/modal-input-text/modal-input-text.component.ts","ng://@inspark/inspark-components/components/content-toggle/content-toggle.component.ts","ng://@inspark/inspark-components/components/inspark.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","__decorate","decorators","target","key","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","__values","o","Symbol","iterator","m","next","value","done","TypeError","__read","e","ar","push","error","PropertyValuePipe","transform","name","isArray","indexOf","splitName","split","Pipe","isTime","test","toString","addLeadZero","num","isNegative","Math","abs","slice","ShortToFullWeekdayPipe","args","sun","mon","tue","wed","thu","fri","sat","d1","d2","NumToShortWeekdayPipe","days","parseInt","FormatNumToTime","isHour","isMin","isSec","absValue","floor","hours","hh","String","Mins","MM","ceil","sec","ss","formatNumberToTime","InDate","translate","date","Date","now","time","getHours","getMinutes","getSeconds","getFullYear","getMonth","getDate","instant","TranslateService","SafeUrlPipe","_sanitizer","bypassSecurityTrustResourceUrl","DomSanitizer","SortByPipe","arr","options","undefined","sort","a","cmp","x","sortField","y","asc","isAscending","PipesModule","NgModule","exports","declarations","gettext","_","InsparkMessageService","messageService","confirmationService","add","confirm","message","_this","get","subscribe","res","success","title","severity","summary","detail","getToastErrorTitleLocalized","ilocale","localStorage","getItem","replace","MessageService","ConfirmationService","Injectable","CommunicationService","messageSource","message$","id","Subject","asObservable","widgetId","ButtonComponent","cdr","_super","size","color","type","testId","label","icon","className","notify","svg","width","link","isLoading","shadow","isIconOnly","linkType","linkTarget","pressed","disabled","iconPos","selectedItem","menuPlacement","menuItems","focus","EventEmitter","blur","click","_target","_linkType","isMaterialIcon","ngOnInit","updateData","ngOnChanges","changes","_onClick","$event","detectChanges","ChangeDetectorRef","Input","ViewChild","Menu","static","Output","Component","selector","template","encapsulation","ViewEncapsulation","Emulated","changeDetection","ChangeDetectionStrategy","OnPush","PButton","InputTextComponent","autocomplete","required","maxlength","placeholder","opacity","propagateChange","writeValue","setDisabledState","isDisabled","registerOnChange","fn","registerOnTouched","onTouched","onChange","InputTextComponent_1","providers","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","multi","TextareaComponent","minHeight","TextareaComponent_1","PanelComponent","ComponentContainerComponent","align","CheckboxComponent","element","cdRef","router","ElementRef","Router","CheckboxComponent_1","PrimengComponentsModule","imports","DropdownModule","entryComponents","DropdownItem","onClick","onOptionClick","event","emit","originalEvent","option","TemplateRef","DropdownComponent","scrollHeight","filterBy","resetFilterOnHide","dropdownIcon","autoDisplayFirst","emptyFilterMessage","autoZIndex","baseZIndex","showTransitionOptions","hideTransitionOptions","filterMatchMode","tooltip","tooltipPosition","tooltipPositionStyle","onFocus","onBlur","onShow","onHide","_label","val","selectedOption","DropdownComponent_1","animations","trigger","state","style","transition","animate","Dropdown","DropdownComponentModule","TooltipModule","ScrollingModule","CommonModule","InsparkTemplate","getType","Directive","host","TableColumnsMultiselectComponent","isExpanded","disableActiveCheckboxes","columnsChange","TableMenuOverlayComponent","isClickedOutsideOverlay","nativeElement","contains","TableClickOutsideDirective","clickedOutside","HostListener","TableComponent","columns","filteredColumns","globalFilteredColumns","primaryColumns","values","checkboxSelection","activeChange","selectionChange","addAction","csvAction","saveAction","removeAction","unlinkAction","groupEditAction","sortFunction","groupMode","groupInfo","groupIndex","_selection","isRowActive","row","active","ngAfterViewInit","entries","dt","filters","forEach","_a","_b","filter","filterGlobal","searchText","resetColumnWidth","saveHiddenColumns","visibleColumns","column","isSecondary","isFiltering","map","field","ngAfterContentInit","restoreSearchText","templates","item","captionTemplate","headerTemplate","bodyTemplate","valueTemplate","loadingBodyTemplate","footerTemplate","summaryTemplate","colGroupTemplate","expandedRowTemplate","frozenRowsTemplate","frozenHeaderTemplate","frozenBodyTemplate","frozenFooterTemplate","frozenColGroupTemplate","emptyMessageTemplate","paginatorLeftTemplate","paginatorRightTemplate","restoreHiddenColumns","isHidden","data","showTooltip","textContent","scrollWidth","clientWidth","colFilter","found","toolbar","cols","onFilter","stateSave","saveToLocalStorage","window","setItem","JSON","stringify","stateKey","hiddenFields","_col","join","removeItem","restoreState","countVisibleColumns","parsedState","parse","global","resetColumnWidthIfToWide","totalWidthInPercent","_column","reduce","console","percent","cvc","firstColumnPercent","index","hiddenFieldsArray_1","includes","col_invisible","calcWidth","idx","onSort","isGrouped","sortByGroup","isShowGroup","rowIndex","isGroupedExpanded","toggleGroup","localSearch","text","g","row1","row2","groupOrder","localeCompare","numeric","sensitivity","countGroup","groupKey","_value","toggleNodes","v","toggleMode","ContentChildren","QueryList","TableComponentModule","TableModule","TranslateModule","FormsModule","MultiSelectModule","NgbDropdownModule","CheckboxModule","EmptyComponent","PreloaderComponent","inline","overlay","InsparkStickyComponent","top","isInline","isFloated","zIndex","class","isSticky","height","left","right","resize","rect","stickyRef","getBoundingClientRect","scroll","document","addEventListener","ngOnDestroy","removeEventListener","InsparkHeaderComponent","level","max","min","ToolbarComponent","display","clickedOutsideOverlay","BreadcrumbComponent","FileComponent","accept","file","onClear","el","onClickChoose","onChangeFile","preventDefault","srcElement","files","SelectButtonComponent","multiple","change","selected","initial","clickButton","readonly","SelectButtonComponent_1","StatusCircleComponent","showLabel","mode","content","SvgComponent","SwitcherComponent","iconOff","iconOn","labelOff","labelOn","faIconOn","faIconOff","_isBoolean","stopPropagation","SwitcherComponent_1","InlineMessageComponent","LinkComponent","_menu","toggle","TooltipComponent","TreeTableComponent","collapseAction","groupAddAction","isCollapse","collapse","node","toggleCollapse","isCollapsed","children","expanded","_c","cn","TreeTableComponentModule","TreeTableModule","RadiobuttonComponent","onChangeEvent","SelectListComponent","ref","config","isShowSpinner","command","checked","fill","closeModal","close","applySelection","select","highlight","regex","RegExp","DynamicDialogRef","DynamicDialogConfig","ObjectTreeComponent","ModalInputTextComponent","translateService","maxLength","param","calculateWidth","checkSelected","opt","str","splited","translated","ContentToggleComponent","isOpen","toggleOpen","InsparkComponentsModule","ReactiveFormsModule","RadioButtonModule","MenuModule","SliderModule","NgbModule","InlineSVGModule","forRoot","baseUrl","BreadcrumbModule","TreeModule","SharedModule","schemas","NO_ERRORS_SCHEMA"],"mappings":"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AARqL,EAAAA,6DACQrL,EAAA,CAARqL,EAAAA,8DACQrL,EAAA,CAARqL,EAAAA,4DAESrL,EAAA,CAATyL,EAAAA,yBAAiBlB,EAAAA,4CANPoX,EAAsB3hB,EAAA,CALlC0L,EAAAA,UAAU,CACTC,SAAU,oBACVC,SAAA,6gCAWyBR,EAAAA,qBARduW,oBCkHb,SAAAG,KACA,OADaA,EAAuB9hB,EAAA,CAnFnC0G,EAAAA,SAAS,CACR8H,QAAS,CACP+L,EAAAA,YACAwH,EAAAA,oBACA3Q,EAAAA,aACAH,EACAmJ,GACAwF,GACAoC,EAAAA,kBACA1H,EAAAA,gBACA2H,EAAAA,WACAC,EAAAA,aACAC,EAAAA,UACAC,EAAAA,gBAAgBC,QAAQ,CAACC,QAAS,mBAClCC,EAAAA,iBACAC,EAAAA,WACAC,EAAAA,cAEF7b,aAAc,CACZiC,EACAuD,EACAsB,EACAG,EACAC,EACAE,EACA2M,GACAC,GACAG,GACAmB,GACAI,GACAG,GACAC,GACAU,GACA6D,GACAjB,GACApC,GACAI,GACAC,GACAU,GACAC,GACAvN,EACA0N,GACAe,GACAkB,GACAW,IAEFhb,QAAS,CACPkC,EACAuD,EACAsB,EACAG,EACAC,EACAE,EACAiD,EACAmJ,GACAwF,GACAjF,GACAC,GACAG,GACAmB,GACAI,GACAG,GACAC,GACAU,GACA6D,GACAjB,GACApC,GACAI,GACAC,GACAgE,EAAAA,WACAC,EAAAA,aACAvD,GACAC,GACAvN,EACA8Q,EAAAA,UACApD,GACAe,GACAkB,GACAW,IAEFjT,gBAAiB,CAACsR,GAAqBiB,IACvCyB,QAAS,CAACC,EAAAA,qBAECb","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({\n name: 'propertyValue'\n})\nexport class PropertyValuePipe implements PipeTransform {\n transform(value: any, name: string): any {\n if (Array.isArray(value) || !(value instanceof Object) || !name) {\n return value;\n } else if (name.indexOf('.') > -1) {\n const splitName: string[] = name.split(/\\.(.+)/, 2);\n return this.transform(value[splitName[0]], splitName[1]);\n } else {\n return value[name];\n }\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {TranslateService} from '@ngx-translate/core';\n\n\nfunction isTime(value: string | number) {\n return /^[0-9]{1,2}\\:[0-9]{1,2}$/.test(value.toString());\n}\n\nfunction addLeadZero(num, isNegative = false) {\n return (isNegative ? '-' : '') + ('000' + Math.abs(num)).slice(-2);\n}\n\nexport function parseIntervalToMinutes(interval: string) {\n if (!isTime(interval)) {\n return 0;\n }\n\n const parts = interval.split(':');\n const hours = parseInt(parts[0], 10);\n const minutes = parseInt(parts[1], 10);\n if (isNaN(hours) || isNaN(minutes)) {\n throw new Error(interval + ' не может быть обработан как время HH:MM');\n }\n return 60 * hours + minutes;\n}\n\nexport function shortWeekdayToNum(dayKey: string) {\n switch (dayKey) {\n case 'sun':\n return 0;\n case 'mon':\n return 1;\n case 'tue':\n return 2;\n case 'wed':\n return 3;\n case 'thu':\n return 4;\n case 'fri':\n return 5;\n case 'sat':\n return 6;\n case 'd1':\n return 7;\n case 'd2':\n return 8;\n }\n return -1;\n}\n\nexport function formatNumberToTime(num) {\n if (isTime(num)) {\n return num;\n }\n const value = parseInt(num, 10);\n const isNegative = value < 0 ? true : false;\n const absValue = Math.abs(value);\n return addLeadZero(Math.floor(absValue / 60), isNegative) + ':' + addLeadZero(absValue % 60);\n}\n\nexport function numToShortWeekday(num) {\n const days = [\n 'sun',\n 'mon',\n 'tue',\n 'wed',\n 'thu',\n 'fri',\n 'sat',\n 'd1',\n 'd2'\n ];\n return days[parseInt(num, 10)] ? days[parseInt(num, 10)] : 'custom';\n}\n\nexport function shortToFullWeekday(day) {\n const days = {\n 'sun': 'sunday',\n 'mon': 'monday',\n 'tue': 'tuesday',\n 'wed': 'wednesday',\n 'thu': 'thursday',\n 'fri': 'friday',\n 'sat': 'saturday',\n 'd1': 'day1',\n 'd2': 'day2'\n };\n return days[day];\n}\n\n\n@Pipe({\n name: 'shortToFullWeekday'\n})\nexport class ShortToFullWeekdayPipe implements PipeTransform {\n transform(value: any, args?: any): any {\n return shortToFullWeekday(value);\n }\n}\n\n/**\n * Pipe используется для преобразования числа в день недели\n * 0-6 - вс-сб, 7,8 - день1, день2\n */\n@Pipe({\n name: 'numToShortWeekday'\n})\nexport class NumToShortWeekdayPipe implements PipeTransform {\n\n transform(value: any, args?: any): any {\n return numToShortWeekday(value);\n }\n\n}\n\n@Pipe({\n name: 'formatNumToTime'\n})\nexport class FormatNumToTime implements PipeTransform {\n transform(value: any, args?: any): any {\n if (args) {\n let isHour = false;\n let isMin = false;\n let isSec = false;\n if ((args as string).indexOf('HH') !== -1) {\n isHour = true;\n }\n if ((args as string).indexOf('mm') !== -1) {\n isMin = true;\n }\n if ((args as string).indexOf('SS') !== -1) {\n isSec = true;\n }\n const absValue = Math.floor(Math.abs(value / 1000));\n let hours = 0;\n let hh = '00';\n if (isHour) {\n hours = Math.floor(absValue / (60 * 60));\n hh = String(hours < 10 ? '0' + hours : hours);\n }\n let Mins = 0;\n let MM = '00';\n if (isMin) {\n Mins = Math.ceil((absValue - hours * 60 * 60) / 60);\n MM = String(Mins < 10 ? '0' + Mins : Mins);\n }\n let sec = 0;\n let ss = '00';\n if (isSec) {\n sec = absValue - hours * 60 * 60 - Mins * 60;\n ss = String(sec < 10 ? '0' + sec : sec);\n }\n if (isHour && isMin && isSec) {\n return hh + ':' + MM + ':' + ss;\n } else if (isHour && isMin) {\n return hh + ':' + MM;\n } else if (isMin && isSec) {\n return MM + ':' + ss;\n } else if (isHour) {\n return hh;\n } else if (isMin) {\n return MM;\n } else if (isSec) {\n return ss;\n }\n }\n return formatNumberToTime(value);\n }\n}\n\n@Pipe({\n name: 'inDate'\n})\nexport class InDate implements PipeTransform {\n constructor(private translate: TranslateService) {\n }\n\n transform(value: any, args?: string): any {\n const isSec = args ? args.indexOf('ss') !== -1 : false;\n const isHour = args ? args.indexOf('hh') !== -1 : true;\n const isMin = args ? args.indexOf('MM') !== -1 : true;\n const date = new Date(value);\n const now = new Date();\n const time = (isHour ? `${('0' + date.getHours()).slice(-2)}` : ``)\n + (isMin ? `:${('0' + date.getMinutes()).slice(-2)}` : ``)\n + (isSec ? `:${('0' + date.getSeconds()).slice(-2)} ` : ``);\n if (date.getFullYear() === now.getFullYear() && date.getMonth() === now.getMonth() && date.getDate() === now.getDate()) {\n return this.translate.instant('today at') + ' ' + time;\n } else {\n return ('0' + date.getDate()).slice(-2) + '.' + ('0' + (date.getMonth() + 1)).slice(-2) + '.' + ('0' + date.getFullYear()).slice(-2) + ' ' + time;\n }\n }\n}\n","// Angular\nimport {Pipe, PipeTransform} from '@angular/core';\nimport {DomSanitizer, SafeResourceUrl} from '@angular/platform-browser';\n\n/**\n * Sanitize HTML\n */\n@Pipe({\n name: 'safeUrl'\n})\nexport class SafeUrlPipe implements PipeTransform {\n /**\n * Pipe Constructor\n *\n * @param _sanitizer: DomSanitezer\n */\n // tslint:disable-next-line\n constructor(protected _sanitizer: DomSanitizer) {\n }\n\n /**\n * Transform\n *\n * @param value: string\n */\n transform(value: string): SafeResourceUrl {\n return this._sanitizer.bypassSecurityTrustResourceUrl(value);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'SortByPipe'\n})\nexport class SortByPipe implements PipeTransform {\n transform(arr: Array<any>, options: Array<any>): any {\n if (arr === undefined) {\n return;\n }\n return arr.sort((a: any, b: any): number => {\n let cmp = 0;\n for (let i = 0; i < options.length; i++) {\n const x = a[options[i].sortField];\n const y = b[options[i].sortField];\n const asc = options[i].isAscending ? -1 : 1;\n cmp = (((x === y) ? 0 : (x < y) ? -1 * asc : 1 * asc) + cmp) * 10;\n }\n return cmp;\n });\n }\n}\n","import {NgModule} from '@angular/core';\nimport {PropertyValuePipe} from './propertyValue.pipe';\nimport {FormatNumToTime, InDate, NumToShortWeekdayPipe, ShortToFullWeekdayPipe} from './time.pipe';\nimport {SafeUrlPipe} from './safeUrl.pipe';\nimport {SortByPipe} from \"./sort-by.pipe\";\n\n@NgModule({\n exports: [PropertyValuePipe, NumToShortWeekdayPipe, FormatNumToTime, InDate, ShortToFullWeekdayPipe, SafeUrlPipe, SortByPipe],\n declarations: [PropertyValuePipe, NumToShortWeekdayPipe, FormatNumToTime, InDate, ShortToFullWeekdayPipe, SafeUrlPipe, SortByPipe]\n})\nexport class PipesModule {\n}\n","import {_} from \"@biesbjerg/ngx-translate-extract/dist/utils/utils\";\n\nexport function gettext(a: string) : string {\n return _(a) as string;\n}\n","import {Injectable} from '@angular/core';\nimport {TranslateService} from '@ngx-translate/core';\nimport {Confirmation, ConfirmationService, Message, MessageService} from 'primeng/api';\nimport {gettext} from \"../utils/gettextMarker.function\";\n\n@Injectable()\nexport class InsparkMessageService {\n\n constructor(private translate: TranslateService,\n private messageService: MessageService,\n private confirmationService: ConfirmationService) {\n }\n\n /**\n * @deprecated\n * @param options\n */\n public add(options: Message) {\n this.messageService.add(options);\n }\n\n public confirm(message: string, options: Confirmation) {\n this.translate.get(message).subscribe((res: string) => {\n this.confirmationService.confirm({\n ...options,\n message: res\n });\n });\n }\n\n public success(message: string) {\n this.translate.get(gettext('Toast_Success_Caption')).subscribe((title: string) => {\n this.translate.get(message).subscribe((res: string) => {\n this.messageService.add({severity: 'success', summary: title, detail: res});\n });\n });\n }\n\n public message(message: string) {\n this.translate.get(gettext('Toast_Message_Caption')).subscribe((title: string) => {\n this.translate.get(message).subscribe((res: string) => {\n this.messageService.add({severity: 'info', summary: title, detail: res});\n });\n });\n }\n /*TODO: костыль перевода, - чтобы избежать переполнения стека изза рекурсии*/\n public error(message: string) {\n const title = this.getToastErrorTitleLocalized();\n // this.translate.get(gettext('Toast_Error_Caption')).subscribe((title: string) => {\n this.translate.get(message).subscribe((res: string) => {\n this.messageService.add({severity: 'error', summary: title, detail: res});\n });\n // });\n }\n\n private getToastErrorTitleLocalized(): string {\n const ilocale = localStorage.getItem('ilocale_');\n if (ilocale && ilocale.replace(/\"/g, '') === 'en-US') {\n return 'Error';\n }\n return 'Ошибка';\n/*\n if (ilocale && (this.localeService.locale$.getValue() === undefined || this.localeService.locale$.getValue().serverShort !== ilocale.replace(/\"/g, ''))) {\n this.localeService.setLocale(ilocale.replace(/\"/g, ''));\n this.translate.use(this.localeService.locale$.getValue().short);\n }\n*/\n }\n}\n","import {Injectable} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n@Injectable()\nexport class CommunicationService {\n\n\n private messageSource = {};\n message$ = {};\n\n create(id: number) {\n if (!this.messageSource[id]) {\n this.messageSource[id] = new Subject();\n this.message$[id] = this.messageSource[id].asObservable();\n }\n }\n\n next(widgetId: number, value: any) {\n this.create(widgetId);\n this.messageSource[widgetId].next(value);\n }\n}\n","import {ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnInit, Output, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {Button as PButton, Menu, MenuItem} from 'primeng/primeng';\nimport {InsparkMenuItem} from \"../../interface\";\n\n\ntype ButtonSize = 'small' | 'normal' | 'large';\ntype ButtonColor = 'normal' | 'danger' | 'primary' | 'secondary' | 'transparent';\ntype ButtonType = 'button' | 'submit';\ntype IconPos = 'left' | 'right';\ntype ButtonNotify = 'warning' | 'error';\n\n\n@Component({\n selector: 'in-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n encapsulation: ViewEncapsulation.Emulated,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ButtonComponent extends PButton implements OnInit, OnChanges {\n\n @Input() size: ButtonSize = 'normal';\n @Input() color: ButtonColor = 'normal';\n @Input() type: ButtonType = 'button';\n @Input() name = '';\n @Input() testId = '';\n @Input() label = '';\n @Input() icon = '';\n @Input() className = '';\n @Input() notify: ButtonNotify = null;\n @Input() svg = '';\n @Input() width = 'auto';\n @Input() link = '';\n @Input() isLoading = false;\n @Input() shadow = false;\n @Input() isIconOnly = false;\n\n /**\n * external - ссылка на внешний источник\n * internal - ссылка внутри приложения\n * auto - определяется автоматически исходя из link\n */\n @Input() linkType: 'auto' | 'external' | 'internal' = 'auto';\n /**\n * self - открывается в этом же окне\n * blank - открывается в новом окне\n * auto - определяется автоматически исходя из linkType\n */\n @Input() linkTarget: 'auto' | 'self' | 'blank' = 'auto';\n\n\n // Отображает кнопку нажатой\n @Input() pressed = false;\n\n @Input() disabled = false;\n\n @Input() iconPos: IconPos = 'left';\n\n @Input() selectedItem = null;\n @Input() menuPlacement = 'bottom-left';\n @Input() menuItems: InsparkMenuItem[] = [];\n\n @ViewChild(Menu, {static: false}) _menu !: Menu;\n\n @Output() focus: EventEmitter<any> = new EventEmitter();\n @Output() blur: EventEmitter<any> = new EventEmitter();\n @Output() click: EventEmitter<any> = new EventEmitter();\n\n _target = '_self';\n _linkType: 'auto' | 'external' | 'internal' = 'auto';\n\n isMaterialIcon = false;\n\n constructor(private cdr: ChangeDetectorRef,) {\n super();\n }\n\n ngOnInit() {\n\n\n this.updateData();\n }\n\n ngOnChanges(changes) {\n this.updateData();\n }\n\n updateData() {\n this._linkType = this.linkType;\n\n if (this._linkType === 'auto') {\n if ((this.link.indexOf('://') !== -1 || this.link.indexOf('//') === 0)) {\n this._linkType = 'external';\n } else {\n this._linkType = 'internal';\n }\n }\n\n if (this.linkTarget === 'auto') {\n if (this._linkType === 'external') {\n this._target = '_blank';\n } else {\n this._target = '_self';\n }\n } else {\n this._target = this.linkTarget === 'self' ? '_self' : 'blank';\n }\n\n if (this.icon && this.icon.indexOf('fa-') === -1) {\n this.isMaterialIcon = true;\n } else {\n this.isMaterialIcon = false;\n }\n }\n\n _onClick($event) {\n this.cdr.detectChanges();\n }\n}\n","import {Component, EventEmitter, forwardRef, Input, Output} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\n@Component({\n selector: 'in-input-text',\n templateUrl: './input-text.component.html',\n styleUrls: ['./input-text.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputTextComponent),\n multi: true,\n }\n ],\n})\nexport class InputTextComponent implements ControlValueAccessor {\n\n @Input() name = null;\n @Input() autocomplete = true;\n @Input() label = null;\n @Input() required = false;\n @Input() error = null;\n @Input() size = 100000;\n @Input() maxlength = 100000;\n @Input() width = 'auto';\n @Input() placeholder = '';\n @Input() id = null;\n @Input() testId = null;\n @Input() disabled: boolean;\n @Input() opacity = true;\n @Input() shadow = false;\n\n @Input() type: string;\n @Input() step: number;\n @Input() min: number;\n @Input() max: number;\n\n @Output() focus: EventEmitter<any> = new EventEmitter();\n @Output() blur: EventEmitter<any> = new EventEmitter();\n\n value: string;\n\n /**\n * Write form value to the DOM element (model => view)\n */\n writeValue(value: any): void {\n this.value = value;\n }\n\n /**\n * Write form disabled state to the DOM element (model => view)\n */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /**\n * Update form when DOM element value changes (view => model)\n */\n registerOnChange(fn: any): void {\n // Store the provided function as an internal method.\n this.propagateChange = fn;\n }\n\n /**\n * Update form when DOM element is blurred (view => model)\n */\n registerOnTouched(fn: any): void {\n // Store the provided function as an internal method.\n this.onTouched = fn;\n }\n\n private propagateChange = (_: any) => {\n };\n\n onChange(_: any) {\n if (this.type === 'number') {\n this.propagateChange(+this.value);\n } else {\n this.propagateChange(this.value);\n }\n }\n\n private onTouched() {\n }\n\n}\n","import {Component, forwardRef, Input} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\n@Component({\n selector: 'in-textarea',\n templateUrl: './textarea.component.html',\n styleUrls: ['./textarea.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TextareaComponent),\n multi: true,\n }\n ],\n})\nexport class TextareaComponent implements ControlValueAccessor {\n\n @Input() name = null;\n @Input() label = null;\n @Input() required = false;\n @Input() error = null;\n @Input() placeholder = '';\n @Input() id = null;\n @Input() disabled: boolean;\n @Input() minHeight = 30;\n @Input() maxlength = 100000;\n\n value: string;\n\n /**\n * Write form value to the DOM element (model => view)\n */\n writeValue(value: any): void {\n this.value = value;\n }\n\n /**\n * Write form disabled state to the DOM element (model => view)\n */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /**\n * Update form when DOM element value changes (view => model)\n */\n registerOnChange(fn: any): void {\n // Store the provided function as an internal method.\n this.propagateChange = fn;\n }\n\n /**\n * Update form when DOM element is blurred (view => model)\n */\n registerOnTouched(fn: any): void {\n // Store the provided function as an internal method.\n this.onTouched = fn;\n }\n\n private propagateChange = (_: any) => {\n };\n\n onChange(_: any) {\n this.propagateChange(this.value);\n }\n\n private onTouched() {\n }\n\n}\n","import {Component} from '@angular/core';\n\n\n@Component({\n selector: 'in-panel',\n templateUrl: './panel.component.html',\n styleUrls: ['./panel.component.scss'],\n})\nexport class PanelComponent {\n\n\n}\n","import {Component, Input} from '@angular/core';\n\n\ntype ALIGN = 'right' | 'left' | 'center';\n\n@Component({\n selector: 'in-component-container',\n templateUrl: './component-container.component.html',\n styleUrls: ['./component-container.component.scss'],\n})\nexport class ComponentContainerComponent {\n\n\n @Input() align: ALIGN = 'left';\n\n}\n","import {ChangeDetectorRef, Component, ElementRef, forwardRef, Input} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {Router} from '@angular/router';\n\n@Component({\n selector: 'in-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true,\n }\n ],\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n\n @Input() name = null;\n @Input() label = null;\n @Input() required = false;\n @Input() error = null;\n @Input() placeholder = '';\n @Input() id = null;\n @Input() disabled: boolean;\n\n value: string;\n\n constructor(public element: ElementRef, private cdRef: ChangeDetectorRef, public router: Router) {\n\n }\n\n /**\n * Write form value to the DOM element (model => view)\n */\n writeValue(value: any): void {\n this.value = value;\n if (!this.cdRef['destroyed']) {\n this.cdRef.detectChanges();\n }\n }\n\n /**\n * Write form disabled state to the DOM element (model => view)\n */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /**\n * Update form when DOM element value changes (view => model)\n */\n registerOnChange(fn: any): void {\n // Store the provided function as an internal method.\n this.propagateChange = fn;\n }\n\n /**\n * Update form when DOM element is blurred (view => model)\n */\n registerOnTouched(fn: any): void {\n // Store the provided function as an internal method.\n this.onTouched = fn;\n }\n\n private propagateChange = (_: any) => {\n };\n\n onChange(_: any) {\n this.propagateChange(this.value);\n }\n\n private onTouched() {\n }\n\n}\n","import {NgModule} from '@angular/core';\nimport {DropdownModule} from 'primeng/primeng';\n\n@NgModule({\n imports: [\n DropdownModule,\n ],\n declarations: [],\n exports: [\n DropdownModule\n ],\n entryComponents: []\n})\nexport class PrimengComponentsModule {\n}\n","import {Component, EventEmitter, forwardRef, Input, NgModule, Output, TemplateRef} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {Dropdown, SelectItem, TooltipModule} from 'primeng/primeng';\nimport {ScrollingModule} from '@angular/cdk/scrolling';\n\nimport {CommonModule} from '@angular/common';\nimport {PrimengComponentsModule} from '../primeng.module';\nimport {animate, state, style, transition, trigger} from '@angular/animations';\n\n\n@Component({\n selector: 'p-dropdownItem',\n template: `\n <li (click)=\"onOptionClick($event)\" role=\"option\"\n [attr.aria-label]=\"option.label\"\n [ngStyle]=\"{'height': itemSize + 'px'}\"\n [ngClass]=\"{'ui-dropdown-item ui-corner-all':true,\n 'ui-state-highlight': selected,\n 'ui-state-disabled':(option.disabled),\n 'ui-dropdown-item-empty': !option.label||option.label.length === 0}\">\n <span *ngIf=\"!template\">{{option.label || 'empty'}}</span>\n <ng-container *ngTemplateOutlet=\"template; context: {$implicit: option}\"></ng-container>\n </li>\n `\n})\nexport class DropdownItem {\n\n @Input() option: SelectItem;\n\n @Input() selected: boolean;\n\n @Input() disabled: boolean;\n\n @Input() visible: boolean;\n\n @Input() itemSize: number;\n\n @Input() template: TemplateRef<any>;\n\n @Output() onClick: EventEmitter<any> = new EventEmitter();\n\n onOptionClick(event: Event) {\n this.onClick.emit({\n originalEvent: event,\n option: this.option\n });\n }\n}\n\n\n@Component({\n selector: 'in-dropdown',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.css'],\n animations: [\n trigger('overlayAnimation', [\n state('void', style({\n transform: 'translateY(5%)',\n opacity: 0\n })),\n state('visible', style({\n transform: 'translateY(0)',\n opacity: 1\n })),\n transition('void => visible', animate('{{showTransitionParams}}')),\n transition('visible => void', animate('{{hideTransitionParams}}'))\n ])\n ],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DropdownComponent),\n multi: true\n }]\n})\nexport class DropdownComponent extends Dropdown implements ControlValueAccessor {\n\n @Input() scrollHeight = '200px';\n\n @Input() filter: boolean;\n\n @Input() name: string;\n\n @Input() style: any;\n\n @Input() panelStyle: any;\n\n @Input() styleClass: string;\n\n @Input() panelStyleClass: string;\n\n @Input() readonly: boolean;\n\n @Input() required: boolean;\n\n @Input() editable: boolean;\n\n @Input() appendTo: any;\n\n @Input() tabindex: number;\n\n @Input() placeholder: string;\n\n @Input() filterPlaceholder: string;\n\n @Input() inputId: string;\n\n @Input() selectId: string;\n\n @Input() dataKey: string;\n\n @Input() filterBy = 'label';\n\n @Input() autofocus: boolean;\n\n @Input() resetFilterOnHide = false;\n\n @Input() dropdownIcon = 'pi pi-chevron-down';\n\n @Input() optionLabel: string;\n\n @Input() autoDisplayFirst = true;\n\n @Input() group: boolean;\n\n @Input() showClear: boolean;\n\n @Input() emptyFilterMessage = 'No results found';\n\n @Input() virtualScroll: boolean;\n\n @Input() itemSize: number;\n\n @Input() autoZIndex = true;\n\n @Input() baseZIndex = 0;\n\n @Input() showTransitionOptions = '225ms ease-out';\n\n @Input() hideTransitionOptions = '195ms ease-in';\n\n @Input() ariaFilterLabel: string;\n\n @Input() filterMatchMode = 'contains';\n\n @Input() maxlength: number;\n\n @Input() tooltip = '';\n\n @Input() options: any[];\n\n @Input() error = null;\n\n @Input() tooltipPosition = 'right';\n\n @Input() tooltipPositionStyle = 'absolute';\n\n @Input() tooltipStyleClass: string;\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @Output() onFocus: EventEmitter<any> = new EventEmitter();\n\n @Output() onBlur: EventEmitter<any> = new EventEmitter();\n\n @Output() onClick: EventEmitter<any> = new EventEmitter();\n\n @Output() onShow: EventEmitter<any> = new EventEmitter();\n\n @Output() onHide: EventEmitter<any> = new EventEmitter();\n\n\n _label = '';\n\n @Input() get label(): string {\n return this._label;\n }\n\n set label(val) {\n this._label = val;\n }\n\n\n get labelText(): string {\n return (this.selectedOption ? this.selectedOption.label : null);\n }\n}\n\n\n@NgModule({\n declarations: [\n DropdownComponent,\n DropdownItem,\n ],\n imports: [\n TooltipModule,\n ScrollingModule,\n CommonModule,\n PrimengComponentsModule,\n ],\n exports: [\n DropdownComponent,\n ],\n entryComponents: [\n DropdownComponent,\n ]\n})\nexport class DropdownComponentModule {\n}\n","import {Directive, Input, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: '[inTemplate]',\n host: {}\n})\nexport class InsparkTemplate {\n\n @Input() type: string;\n\n @Input('inTemplate') name: string;\n\n constructor(public template: TemplateRef<any>) {\n }\n\n getType(): string {\n return this.name;\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {TableColumns} from \"../../../interface\";\n\n@Component({\n selector: 'in-table-columns-multiselect',\n templateUrl: './table-columns-multiselect.component.html',\n styleUrls: ['./table-columns-multiselect.component.scss']\n})\nexport class TableColumnsMultiselectComponent implements OnInit {\n public isExpanded = false;\n @Input() columns: TableColumns[];\n /**\n * true - все активные чекбоксы становятся неактивными\n * false - не влияет на чекбоксы\n */\n @Input() disableActiveCheckboxes = false;\n @Output() columnsChange = new EventEmitter<{event: any, column: TableColumns}>();\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n}\n","import {ChangeDetectionStrategy, Component, ElementRef, Input} from '@angular/core';\n\n@Component({\n selector: 'in-table-menu-overlay',\n templateUrl: './table-menu-overlay.component.html',\n styleUrls: ['./table-menu-overlay.component.scss', './table-menu-overlay-contrast.component.scss', './table-menu-overlay-light.component.scss', './table-menu-overlay-green.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TableMenuOverlayComponent {\n @Input() isExpanded = false;\n @Input() positionClass: string;\n\n isFromTimepickerShown\n\n constructor(private element: ElementRef) {\n }\n\n isClickedOutsideOverlay(event) {\n if (!this.element.nativeElement.contains(event.target)) {\n this.isExpanded = false;\n }\n }\n}\n","import {Directive, ElementRef, EventEmitter, HostListener, Output} from '@angular/core';\n\n@Directive({\n selector: '[inClickOutside]'\n})\nexport class TableClickOutsideDirective {\n\n @Output() clickedOutside = new EventEmitter();\n\n constructor(private element: ElementRef) {\n }\n\n @HostListener('document:click', ['$event'])\n click(event) {\n if (!this.element.nativeElement.contains(event.target)) {\n // console.log('clicked outside');\n this.clickedOutside.emit(event);\n } else {\n // console.log('clicked inside');\n }\n }\n\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n NgModule, OnChanges, OnInit,\n Output,\n QueryList, SimpleChanges,\n TemplateRef,\n ViewChild\n} from '@angular/core';\nimport {TableModule} from 'primeng/table';\nimport {CommonModule} from '@angular/common';\nimport {InsparkTemplate} from '../inspark.shared';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {FormsModule} from '@angular/forms';\nimport {TableColumnsMultiselectComponent} from './table-columns-multiselect/table-columns-multiselect.component';\nimport {TableMenuOverlayComponent} from './table-menu-overlay/table-menu-overlay.component';\nimport {TableClickOutsideDirective} from './table-click-outside.directive';\nimport {DropdownModule} from 'primeng/dropdown';\nimport {MultiSelectModule} from 'primeng/multiselect';\nimport {NgbDropdownModule} from '@ng-bootstrap/ng-bootstrap';\nimport {CheckboxModule} from 'primeng/checkbox';\nimport {TableRowData} from \"../../utils/hybrid/prime-table/table-row-data.model\";\nimport {PipesModule} from \"../../pipes/pipes.module\";\nimport {TableColumns} from \"../../interface\";\n\n@Component({\n selector: 'in-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.scss'],\n entryComponents: [],\n})\nexport class TableComponent implements OnInit, AfterContentInit, AfterViewInit, OnChanges {\n\n @Input() columns: TableColumns[] = [];\n filteredColumns: TableColumns[] = [];\n globalFilteredColumns: string[] = [];\n primaryColumns: TableColumns[] = [];\n @Input() values = [];\n @Input() scrollHeight: string;\n @Input() scrollable: boolean;\n @Input() selectionMode: string;\n @Input() label: string;\n @Input() error: string;\n @Input() class: string;\n @Input() required: boolean;\n @Input() style: any;\n @Input() toolbar: any;\n @Input() checkboxSelection = true;\n @Input() active;\n @Input() sortField;\n @Input() isAscending;\n @Input() dataKey;\n @Input() stateKey;\n @Input() isGrouped: boolean;\n @Input() customSort: boolean;\n @Input() isGroupedExpanded?: boolean;\n\n @Output() activeChange = new EventEmitter<any>();\n @ContentChildren(InsparkTemplate) templates: QueryList<InsparkTemplate>;\n @Output() selectionChange: EventEmitter<any> = new EventEmitter();\n @Output() addAction: EventEmitter<any> = new EventEmitter<any>();\n @Output() csvAction: EventEmitter<any> = new EventEmitter<any>();\n @Output() saveAction: EventEmitter<any> = new EventEmitter<any>();\n @Output() removeAction: EventEmitter<any> = new EventEmitter<any>();\n @Output() unlinkAction: EventEmitter<any> = new EventEmitter<any>();\n @Output() groupEditAction: EventEmitter<any> = new EventEmitter<any>();\n @Output() sortFunction: EventEmitter<any> = new EventEmitter<any>();\n\n @ViewChild('dt', {static: false}) dt;\n\n groupMode = 0;\n groupInfo = {};\n groupIndex = {};\n headerTemplate: TemplateRef<any>;\n bodyTemplate: TemplateRef<any>;\n loadingBodyTemplate: TemplateRef<any>;\n captionTemplate: TemplateRef<any>;\n frozenRowsTemplate: TemplateRef<any>;\n footerTemplate: TemplateRef<any>;\n summaryTemplate: TemplateRef<any>;\n colGroupTemplate: TemplateRef<any>;\n expandedRowTemplate: TemplateRef<any>;\n frozenHeaderTemplate: TemplateRef<any>;\n frozenBodyTemplate: TemplateRef<any>;\n frozenFooterTemplate: TemplateRef<any>;\n frozenColGroupTemplate: TemplateRef<any>;\n emptyMessageTemplate: TemplateRef<any>;\n paginatorLeftTemplate: TemplateRef<any>;\n paginatorRightTemplate: TemplateRef<any>;\n valueTemplate: TemplateRef<any>;\n searchText: string;\n _selection = null;\n\n @Input() set selection(val) {\n this._selection = val;\n }\n\n get selectionValue() {\n return this._selection;\n }\n\n set selectionValue(val) {\n this._selection = val;\n this.selectionChange.emit(val);\n }\n\n public isRowActive(row: TableRowData) {\n return this.active && this.active.id === row.id;\n }\n\n ngOnInit() {\n this.updateData();\n }\n\n ngAfterViewInit() {\n Object.entries(this.dt.filters).forEach(([key, value]) => {\n this.dt.filter('', `${key}`, 'contains');\n });\n this.dt.filterGlobal(this.searchText, 'contains');\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.resetColumnWidth();\n this.saveHiddenColumns();\n this.visibleColumns();\n }\n\n updateData() {\n this.primaryColumns = this.columns.filter(column => !column.isSecondary);\n this.globalFilteredColumns = this.columns.filter(column => column.isFiltering !== false).map(val => val.field);\n }\n\n ngAfterContentInit() {\n this.visibleColumns();\n this.restoreSearchText();\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'caption':\n this.captionTemplate = item.template;\n break;\n\n case 'header':\n this.headerTemplate = item.template;\n break;\n\n case 'body':\n this.bodyTemplate = item.template;\n break;\n case 'value':\n this.valueTemplate = item.template;\n break;\n\n case 'loadingbody':\n this.loadingBodyTemplate = item.template;\n break;\n\n case 'footer':\n this.footerTemplate = item.template;\n break;\n\n case 'summary':\n this.summaryTemplate = item.template;\n break;\n\n case 'colgroup':\n this.colGroupTemplate = item.template;\n break;\n\n case 'rowexpansion':\n this.expandedRowTemplate = item.template;\n break;\n\n case 'frozenrows':\n this.frozenRowsTemplate = item.template;\n break;\n\n case 'frozenheader':\n this.frozenHeaderTemplate = item.template;\n break;\n\n case 'frozenbody':\n this.frozenBodyTemplate = item.template;\n break;\n\n case 'frozenfooter':\n this.frozenFooterTemplate = item.template;\n break;\n\n case 'frozencolgroup':\n this.frozenColGroupTemplate = item.template;\n break;\n\n case 'emptymessage':\n this.emptyMessageTemplate = item.template;\n break;\n\n case 'paginatorleft':\n this.paginatorLeftTemplate = item.template;\n break;\n\n case 'paginatorright':\n this.paginatorRightTemplate = item.template;\n break;\n }\n });\n }\n\n public visibleColumns(): TableColumns[] {\n this.restoreHiddenColumns();\n this.filteredColumns = this.columns.filter(column => !column.isHidden);\n return this.filteredColumns;\n }\n\n public columnsChange(data) {\n data.column.isHidden = !data.event;\n this.resetColumnWidth();\n this.saveHiddenColumns();\n this.visibleColumns();\n }\n\n public showTooltip(event) {\n const target = event.target;\n if (target.title === undefined || !target.textContent) {\n return;\n }\n target.title = target.scrollWidth > target.clientWidth ? target.textContent : '';\n }\n\n public colFilter(field) {\n const found = this.toolbar.filter.cols.filter(item => item.field === field);\n return found.length === 1 ? found[0] : '';\n }\n\n public onFilter(event) {\n this.toolbar.filter.active = !this.toolbar.filter.active;\n }\n\n public stateSave(state) {\n }\n\n public saveToLocalStorage(state, key) {\n if (key) {\n window.localStorage.setItem(key, JSON.stringify(state));\n }\n }\n\n public saveHiddenColumns() {\n if (this.stateKey) {\n const hiddenFields = (this.columns || []).filter(_col => _col.isHidden).map(_col => _col.field).join(',');\n this.saveToLocalStorage(hiddenFields, this.stateKey + 'HiddenFields');\n window.localStorage.removeItem(this.stateKey);\n this.dt.restoreState();\n }\n }\n\n public countVisibleColumns() {\n return (this.columns || []).filter(_col => !_col.isHidden).length;\n }\n\n\n public restoreSearchText() {\n const state = window.localStorage.getItem(this.stateKey);\n if (state) {\n const parsedState = JSON.parse(state);\n this.searchText = (parsedState.filters || {global: {value: ''}}).global ? (parsedState.filters || {global: {value: ''}}).global.value : '';\n this.sortField = parsedState.sortField || this.sortField;\n } else {\n this.resetColumnWidth();\n }\n }\n\n public resetColumnWidthIfToWide() {\n const visibleColumns = this.columns.filter(_column => !_column.isHidden);\n const totalWidthInPercent = visibleColumns.reduce((s, column) => {\n const percent = column.width.indexOf('%') > 0 ? parseInt(column.width, 10) : 0;\n return s + percent;\n }, 0);\n\n if (totalWidthInPercent > 100) {\n console.error(`Масимальная суммарная ширина столбцов таблицы 100%, текущая суммарная ширина ${totalWidthInPercent}%.`\n + `Выполняется принудительный перерасчет ширины для таблицы ${this.stateKey}`);\n this.resetColumnWidth();\n }\n if (totalWidthInPercent < 100 && this.columns.length > 0) {\n // расширяем первый столбец, чтобы не тянулся столбец с чекбоксом\n const percent = this.columns[0].width.indexOf('%') > 0 ? parseInt(this.columns[0].width, 10) : 0;\n this.columns[0].width = 100 - totalWidthInPercent + percent + '%';\n }\n\n }\n\n public resetColumnWidth() {\n const cvc = this.countVisibleColumns();\n let percent = Math.floor(100 / cvc);\n let firstColumnPercent = percent;\n if (cvc > 10) {\n percent = Math.floor(90 / (cvc - 1));\n firstColumnPercent = Math.floor(100 - (percent * (cvc - 1)));\n }\n this.columns.forEach((column, index) => column.width = index === 0 ? firstColumnPercent + '%' : `${percent}%`);\n }\n\n public restoreHiddenColumns() {\n if (this.stateKey) {\n const hiddenFields = window.localStorage.getItem(this.stateKey + 'HiddenFields');\n if (hiddenFields) {\n const hiddenFieldsArray = JSON.parse(hiddenFields).split(',');\n this.columns.forEach(_col => _col.isHidden = hiddenFieldsArray.includes(_col.field) || _col.col_invisible);\n } else {\n // this.columns.forEach(_col => _col.isHidden = _col.col_invisible);\n }\n }\n }\n\n public calcWidth(idx, label, width) {\n return width && idx >= 0 ? width : 'auto';\n }\n\n\n public onSort() {\n if (this.isGrouped) {\n Object.entries(this.groupInfo).forEach(([key, value]) => this.groupInfo[key] = {isExpanded: true});\n this.sortByGroup();\n }\n }\n\n public isShowGroup(key, rowIndex) {\n if (rowIndex === 0) {\n this.groupIndex = {};\n }\n\n if (!this.groupInfo[key]) {\n this.groupInfo[key] = {isExpanded: this.isGroupedExpanded !== undefined ? this.isGroupedExpanded : true};\n }\n\n if (!this.groupIndex[key]) {\n this.groupIndex[key] = {rowIndex};\n }\n return this.groupIndex[key].rowIndex === rowIndex;\n }\n\n public toggleGroup(rowIndex: number, key: string) {\n this.groupInfo[key].isExpanded = !this.groupInfo[key].isExpanded;\n }\n\n localSearch(dt, text) {\n dt.filterGlobal(text, 'contains');\n }\n\n private sortByGroup() {\n const g = this.groupMode;\n this.values.sort((row1: TableRowData, row2: TableRowData) => {\n if (typeof (row1.groupOrder[g]) === 'number') {\n return row1.groupOrder[g] - row2.groupOrder[g];\n } else {\n return row1.groupOrder[g].localeCompare(row2.groupOrder[g], undefined, {numeric: true, sensitivity: 'base'});\n }\n });\n }\n\n countGroup(groupKey, g: number): number {\n return this.values.filter(_value => _value.groupKey[g] === groupKey).length;\n }\n\n toggleNodes(isExpanded: boolean) {\n const g = this.groupMode;\n this.values.forEach(v => {\n if (this.groupInfo[v.groupKey[g]]) {\n this.groupInfo[v.groupKey[g]].isExpanded = isExpanded;\n }\n });\n }\n\n toggleMode(item) {\n this.groupMode = item;\n this.groupInfo = {};\n for (let i = 0; i < this.values.length; i++) {\n this.isShowGroup(this.values[i].groupKey[this.groupMode], i);\n }\n }\n}\n\n\n@NgModule({\n imports: [CommonModule, TableModule, PipesModule, TranslateModule, FormsModule, DropdownModule, MultiSelectModule, NgbDropdownModule, CheckboxModule],\n exports: [TableComponent, TableColumnsMultiselectComponent],\n declarations: [TableComponent, TableColumnsMultiselectComponent, TableMenuOverlayComponent, TableClickOutsideDirective]\n})\nexport class TableComponentModule {\n}\n","import {Component} from '@angular/core';\n\n\n@Component({\n selector: 'in-empty',\n templateUrl: './empty.component.html',\n styleUrls: ['./empty.component.scss'],\n})\nexport class EmptyComponent {\n\n\n}\n","import {Component, Input, OnInit, ViewEncapsulation} from '@angular/core';\n\n\ntype PreloaderSize = 'small' | 'normal';\n\n@Component({\n selector: 'in-preloader',\n templateUrl: './preloader.component.html',\n styleUrls: ['./preloader.component.scss'],\n encapsulation: ViewEncapsulation.Emulated\n})\nexport class PreloaderComponent implements OnInit {\n\n @Input() inline = false;\n @Input() overlay = false;\n @Input() size: PreloaderSize = 'normal';\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n}\n","import {ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, OnDestroy, OnInit, ViewChild, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: 'in-sticky',\n templateUrl: './sticky.component.html',\n styleUrls: ['./sticky.component.scss'],\n encapsulation: ViewEncapsulation.Emulated,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class InsparkStickyComponent implements OnInit, OnDestroy {\n\n @ViewChild('sticky', {static: false}) stickyRef: ElementRef;\n @Input() top = 100;\n @Input() isInline = false;\n @Input() isFloated = true;\n @Input() zIndex = 10;\n @Input() class = '';\n\n isSticky = false;\n height = 0;\n width = 0;\n left = 0;\n right = 0;\n\n constructor(private cdr: ChangeDetectorRef) {\n\n }\n\n ngOnInit() {\n document.addEventListener('scroll', this.scroll);\n window.addEventListener('resize', this.resize);\n }\n\n ngOnDestroy() {\n document.removeEventListener('scroll', this.scroll);\n window.removeEventListener('resize', this.resize);\n }\n\n resize = () => {\n const rect = this.stickyRef.nativeElement.getBoundingClientRect();\n this.width = rect.width;\n this.left = rect.x;\n this.cdr.detectChanges();\n };\n\n scroll = () => {\n const rect = this.stickyRef.nativeElement.getBoundingClientRect();\n const isSticky = rect.top < this.top;\n if (isSticky !== this.isSticky) {\n this.height = rect.height;\n this.isSticky = rect.top < this.top;\n this.left = rect.x;\n this.width = rect.width;\n this.right = rect.right;\n this.cdr.detectChanges();\n }\n };\n\n}\n","import {Component, Input, OnInit, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: 'in-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss'],\n encapsulation: ViewEncapsulation.Emulated\n})\nexport class InsparkHeaderComponent implements OnInit {\n\n @Input() level = 1;\n @Input() label = '';\n\n constructor() {\n }\n\n ngOnInit() {\n this.level = Math.max(Math.min(this.level, 6), 1);\n }\n\n}\n","import {ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, OnInit} from '@angular/core';\nimport {Router} from '@angular/router';\n\n@Component({\n selector: 'in-toolbar',\n templateUrl: './toolbar.component.html',\n styleUrls: ['./toolbar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n entryComponents: []\n})\nexport class ToolbarComponent implements OnInit {\n\n\n @Input() title: string;\n display = false;\n objects;\n\n selected: any;\n\n constructor(public element: ElementRef, private cdRef: ChangeDetectorRef, public router: Router) {\n\n }\n\n ngOnInit() {\n\n }\n\n public clickedOutsideOverlay(event) {\n if (!this.element.nativeElement.contains(event.target)) {\n this.display = false;\n this.cdRef.detectChanges();\n }\n }\n\n}\n\n\n\n","import {ChangeDetectionStrategy, Component, Input, OnInit} from '@angular/core';\nimport {MenuItem} from 'primeng/api';\n\n@Component({\n selector: 'in-breadcrumb',\n templateUrl: './breadcrumb.component.html',\n styleUrls: ['./breadcrumb.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BreadcrumbComponent implements OnInit {\n\n @Input() items: MenuItem[];\n\n constructor() {\n }\n\n ngOnInit() {\n }\n}\n","import {Component, ElementRef, EventEmitter, Input, Output, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'in-file',\n templateUrl: './file.component.html',\n styleUrls: ['./file.component.css'],\n})\nexport class FileComponent {\n\n @Input() name = null;\n @Input() label = null;\n @Input() accept: string = null;\n @Input() required = false;\n @Input() error = null;\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n\n @ViewChild('fileInput', {static: false}) el: ElementRef;\n\n file: File = null;\n\n onClear() {\n this.file = null;\n this.onChange.emit(this.file);\n this.el.nativeElement.value = '';\n }\n\n onClickChoose() {\n this.el.nativeElement.click();\n }\n\n onChangeFile(e) {\n e.preventDefault();\n if (e.srcElement.files[0]) {\n this.file = e.srcElement.files[0];\n this.onChange.emit(this.file);\n }\n }\n\n}\n","import {ChangeDetectorRef, Component, EventEmitter, forwardRef, Input, OnChanges, OnInit, Output} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\n\ntype IconPos = 'left' | 'right';\n\ninterface SelectOption {\n label: string;\n title?: string;\n value: any;\n icon?: string;\n readonly?: boolean;\n}\n\n\n@Component({\n selector: 'in-select-button',\n templateUrl: './select-button.component.html',\n styleUrls: ['./select-button.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectButtonComponent),\n multi: true,\n }\n ],\n})\nexport class SelectButtonComponent implements ControlValueAccessor, OnInit, OnChanges {\n\n @Input() name = '';\n @Input() testId = '';\n @Input() label = '';\n @Input() icon = '';\n @Input() error = '';\n @Input() iconPos: IconPos = 'left';\n @Input() options: SelectOption[] = [];\n @Input() disabled: boolean;\n @Input() required = false;\n @Input() multiple = false;\n @Input() initial?: any[];\n\n @Output() focus: EventEmitter<any> = new EventEmitter();\n @Output() blur: EventEmitter<any> = new EventEmitter();\n @Output() click: EventEmitter<any> = new EventEmitter();\n @Output() change: EventEmitter<any> = new EventEmitter();\n\n selected = [];\n\n value: Object | Object[];\n\n bindingtype;\n\n constructor(private cdRef: ChangeDetectorRef) {\n\n }\n\n ngOnInit() {\n }\n\n ngOnChanges() {\n if (this.initial) {\n this.selected = this.initial;\n } else {\n this.selected = [];\n }\n }\n\n clickButton(option) {\n if (option.readonly) {\n return false;\n }\n if (this.multiple) {\n if (this.selected.indexOf(option.value) !== -1) {\n this.selected = this.selected.filter(item => item !== option.value);\n } else {\n this.selected.push(option.value);\n }\n this.value = this.options.filter(item => this.selected.indexOf(item.value) !== -1).map(val => val.value);\n } else {\n this.selected = [option.value];\n this.value = option.value;\n }\n this.cdRef.detectChanges();\n this.onChange();\n }\n\n /**\n * Write form value to the DOM element (model => view)\n */\n writeValue(value: any): void {\n this.value = value;\n if (value !== null && value !== undefined) {\n if (Array.isArray(value)) {\n this.selected = value.map(val => val);\n } else {\n this.selected = [value];\n }\n }\n this.cdRef.detectChanges();\n }\n\n /**\n * Write form disabled state to the DOM element (model => view)\n */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /**\n * Update form when DOM element value changes (view => model)\n */\n registerOnChange(fn: any): void {\n // Store the provided function as an internal method.\n this.propagateChange = fn;\n }\n\n /**\n * Update form when DOM element is blurred (view => model)\n */\n registerOnTouched(fn: any): void {\n // Store the provided function as an internal method.\n this.onTouched = fn;\n }\n\n private propagateChange = (_: any) => {\n }\n\n private onChange() {\n this.propagateChange(this.value);\n this.change.emit(this.value);\n }\n\n private onTouched() {\n }\n}\n","import {Component, Input, ViewEncapsulation} from '@angular/core';\nimport {CircleMode, CircleSize} from \"../../interface\";\n\n\n@Component({\n selector: 'in-status-circle',\n templateUrl: './status-circle.component.html',\n styleUrls: ['./status-circle.component.scss'],\n encapsulation: ViewEncapsulation.Emulated\n})\nexport class StatusCircleComponent {\n\n\n @Input() label = '';\n @Input() title = '';\n @Input() icon = '';\n @Input() showLabel = true;\n @Input() mode: CircleMode = 'success';\n @Input() size: CircleSize = 'normal';\n @Input() content: any = '';\n\n}\n","import {Component, Input} from '@angular/core';\nimport {Button as PButton} from 'primeng/primeng';\n\n\ntype SVGSize = 'small' | 'normal' | 'large';\n\n@Component({\n selector: 'in-svg',\n templateUrl: './svg.component.html',\n styleUrls: ['./svg.component.scss'],\n})\nexport class SvgComponent extends PButton {\n\n @Input() size: SVGSize = 'normal';\n @Input() width = '100%';\n @Input() height = '100%';\n @Input() src: string;\n\n}\n","import {ChangeDetectorRef, Component, ElementRef, EventEmitter, forwardRef, Input, OnChanges, OnInit, Output} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {Router} from '@angular/router';\n\n@Component({\n selector: 'in-switcher',\n templateUrl: './switcher.component.html',\n styleUrls: ['./switcher.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SwitcherComponent),\n multi: true,\n }\n ],\n})\nexport class SwitcherComponent implements OnInit, OnChanges, ControlValueAccessor {\n\n @Input() name = null;\n @Input() label = null;\n @Input() error = null;\n @Input() iconOff = '';\n @Input() iconOn = '';\n @Input() labelOff = 'Off';\n @Input() labelOn = 'On';\n @Input() faIconOn = '';\n @Input() faIconOff = '';\n @Input() id = null;\n @Input() disabled: boolean;\n @Input() waiting?: boolean;\n\n @Output() change: EventEmitter<any> = new EventEmitter();\n\n _isBoolean = false;\n\n value: boolean;\n\n\n constructor(public element: ElementRef, private cdRef: ChangeDetectorRef, public router: Router) {\n\n }\n\n\n ngOnInit() {\n this._isBoolean = typeof this.value === 'boolean';\n this.value = typeof this.value === 'string' ? JSON.parse(this.value) : !!this.value;\n }\n\n ngOnChanges(changes) {\n }\n\n /**\n * Write form value to the DOM element (model => view)\n */\n writeValue(value: any): void {\n this._isBoolean = typeof value === 'boolean';\n this.value = value;\n this.cdRef.detectChanges();\n }\n\n /**\n * Write form disabled state to the DOM element (model => view)\n */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /**\n * Update form when DOM element value changes (view => model)\n */\n registerOnChange(fn: any): void {\n // Store the provided function as an internal method.\n this.propagateChange = fn;\n }\n\n /**\n * Update form when DOM element is blurred (view => model)\n */\n registerOnTouched(fn: any): void {\n // Store the provided function as an internal method.\n this.onTouched = fn;\n }\n\n private propagateChange = (_: any) => {\n }\n\n onChange(e: Event) {\n e.stopPropagation();\n e.preventDefault();\n if (this._isBoolean) {\n this.propagateChange(this.value);\n this.change.emit(this.value);\n\n } else {\n this.propagateChange(this.value ? 1 : 0);\n this.change.emit(this.value ? 1 : 0);\n }\n }\n\n private onTouched() {\n }\n\n}\n","import {Component, Input} from '@angular/core';\n\n\n@Component({\n selector: 'in-inline-message',\n templateUrl: './inline-message.component.html',\n styleUrls: ['./inline-message.component.scss'],\n})\nexport class InlineMessageComponent {\n\n\n @Input() message = '';\n @Input() align: 'center' | 'left' | 'right' = 'center';\n\n}\n","import {Component, EventEmitter, Input, OnChanges, OnInit, Output, ViewChild} from '@angular/core';\nimport {Menu, MenuItem} from 'primeng/primeng';\n\n\ntype LinkColor = 'normal' | 'secondary' | 'danger' | 'primary' | 'transparent';\ntype IconPos = 'left' | 'right';\n\n@Component({\n selector: 'in-link',\n templateUrl: './link.component.html',\n styleUrls: ['./link.component.scss'],\n})\nexport class LinkComponent implements OnInit, OnChanges {\n\n @Input() color: LinkColor = 'normal';\n @Input() name = '';\n @Input() testId = '';\n @Input() label = '';\n @Input() icon = '';\n @Input() className = '';\n @Input() svg = '';\n @Input() link = '';\n /**\n * external - ссылка на внешний источник\n * internal - ссылка внутри приложения\n * auto - определяется автоматически исходя из link\n */\n @Input() linkType: 'auto' | 'external' | 'internal' = 'auto';\n /**\n * self - открывается в этом же окне\n * blank - открывается в новом окне\n * auto - определяется автоматически исходя из linkType\n */\n @Input() linkTarget: 'auto' | 'self' | 'blank' = 'auto';\n\n\n // Отображает кнопку нажатой\n @Input() pressed = false;\n\n @Input() disabled = false;\n\n @Input() iconPos: IconPos = 'left';\n @Input() menuItems: MenuItem[] = [];\n\n @ViewChild(Menu, {static: false}) _menu !: Menu;\n\n @Output() focus: EventEmitter<any> = new EventEmitter();\n @Output() blur: EventEmitter<any> = new EventEmitter();\n @Output() click: EventEmitter<any> = new EventEmitter();\n\n style={}\n\n _target = '_self';\n _linkType: 'auto' | 'external' | 'internal' = 'auto';\n\n isMaterialIcon = false;\n\n ngOnInit() {\n\n\n this.updateData();\n }\n\n ngOnChanges(changes) {\n this.updateData();\n }\n\n updateData() {\n this._linkType = this.linkType;\n\n if (this._linkType === 'auto') {\n if ((this.link.indexOf('://') !== -1 || this.link.indexOf('//') === 0)) {\n this._linkType = 'external';\n } else {\n this._linkType = 'internal';\n }\n }\n\n if (this.linkTarget === 'auto') {\n if (this._linkType === 'external') {\n this._target = '_blank';\n } else {\n this._target = '_self';\n }\n } else {\n this._target = this.linkTarget === 'self' ? '_self' : 'blank';\n }\n\n if (this.icon && this.icon.indexOf('fa-') === -1) {\n this.isMaterialIcon = true;\n } else {\n this.isMaterialIcon = false;\n }\n }\n\n _onClick($event: Event) {\n // if (!this.link) {\n // $event.stopPropagation();\n // $event.preventDefault();\n // this.click.emit($event);\n // }\n if (this.menuItems.length) {\n this._menu.toggle($event);\n }\n }\n}\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'in-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TooltipComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n NgModule,\n Output,\n QueryList,\n TemplateRef\n} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {InsparkTemplate} from '../inspark.shared';\nimport {TreeTableModule} from 'primeng/primeng';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {FormsModule} from '@angular/forms';\nimport {TableComponentModule} from '../table/table.component';\nimport {PipesModule} from \"../../pipes/pipes.module\";\nimport {TableRowData} from \"../../utils/hybrid/prime-table/table-row-data.model\";\nimport {TableColumns} from \"../../interface\";\n\n\n\n@Component({\n selector: 'in-tree-table',\n templateUrl: './tree-table.component.html',\n styleUrls: ['./tree-table.component.scss'],\n entryComponents: [],\n})\nexport class TreeTableComponent implements AfterContentInit {\n\n @Input() columns: TableColumns[] = [];\n @Input() values = [];\n @Input() scrollHeight: string;\n @Input() scrollable: boolean;\n @Input() selectionMode: string;\n @Input() label: string;\n @Input() error: string;\n @Input() class: string;\n @Input() required: boolean;\n @Input() style: any;\n @Input() toolbar: any;\n @Input() checkboxSelection = true;\n @Input() active;\n @Input() sortField;\n @Input() isAscending;\n @Input() dataKey;\n\n @Output() activeChange = new EventEmitter<any>();\n @ContentChildren(InsparkTemplate) templates: QueryList<InsparkTemplate>;\n @Output() selectionChange: EventEmitter<any> = new EventEmitter();\n @Output() addAction: EventEmitter<any> = new EventEmitter<any>();\n @Output() csvAction: EventEmitter<any> = new EventEmitter<any>();\n @Output() saveAction: EventEmitter<any> = new EventEmitter<any>();\n @Output() collapseAction: EventEmitter<any> = new EventEmitter<any>();\n @Output() removeAction: EventEmitter<any> = new EventEmitter<any>();\n @Output() unlinkAction: EventEmitter<any> = new EventEmitter<any>();\n @Output() groupEditAction: EventEmitter<any> = new EventEmitter<any>();\n @Output() groupAddAction: EventEmitter<any> = new EventEmitter<any>();\n\n headerTemplate: TemplateRef<any>;\n bodyTemplate: TemplateRef<any>;\n loadingBodyTemplate: TemplateRef<any>;\n captionTemplate: TemplateRef<any>;\n frozenRowsTemplate: TemplateRef<any>;\n footerTemplate: TemplateRef<any>;\n summaryTemplate: TemplateRef<any>;\n colGroupTemplate: TemplateRef<any>;\n expandedRowTemplate: TemplateRef<any>;\n frozenHeaderTemplate: TemplateRef<any>;\n frozenBodyTemplate: TemplateRef<any>;\n frozenFooterTemplate: TemplateRef<any>;\n frozenColGroupTemplate: TemplateRef<any>;\n emptyMessageTemplate: TemplateRef<any>;\n paginatorLeftTemplate: TemplateRef<any>;\n paginatorRightTemplate: TemplateRef<any>;\n valueTemplate: TemplateRef<any>;\n searchText: string;\n rowIndex = 0;\n isCollapse = true;\n _selection = null;\n\n @Input() set selection(val) {\n this._selection = val;\n }\n\n get selectionValue() {\n return this._selection;\n }\n\n set selectionValue(val) {\n this._selection = val;\n this.selectionChange.emit(val);\n }\n\n public isRowActive(row: TableRowData) {\n return this.active && this.active.id === row.id;\n }\n\n public visibleColumns(): TableColumns[] {\n return this.columns.filter(column => !column.isHidden);\n }\n\n public columnsChange(data) {\n data.column.isHidden = !data.event;\n }\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'caption':\n this.captionTemplate = item.template;\n break;\n\n case 'header':\n this.headerTemplate = item.template;\n break;\n\n case 'body':\n this.bodyTemplate = item.template;\n break;\n case 'value':\n this.valueTemplate = item.template;\n break;\n\n case 'loadingbody':\n this.loadingBodyTemplate = item.template;\n break;\n\n case 'footer':\n this.footerTemplate = item.template;\n break;\n\n case 'summary':\n this.summaryTemplate = item.template;\n break;\n\n case 'colgroup':\n this.colGroupTemplate = item.template;\n break;\n\n case 'rowexpansion':\n this.expandedRowTemplate = item.template;\n break;\n\n case 'frozenrows':\n this.frozenRowsTemplate = item.template;\n break;\n\n case 'frozenheader':\n this.frozenHeaderTemplate = item.template;\n break;\n\n case 'frozenbody':\n this.frozenBodyTemplate = item.template;\n break;\n\n case 'frozenfooter':\n this.frozenFooterTemplate = item.template;\n break;\n\n case 'frozencolgroup':\n this.frozenColGroupTemplate = item.template;\n break;\n\n case 'emptymessage':\n this.emptyMessageTemplate = item.template;\n break;\n\n case 'paginatorleft':\n this.paginatorLeftTemplate = item.template;\n break;\n\n case 'paginatorright':\n this.paginatorRightTemplate = item.template;\n break;\n }\n });\n }\n\n collapse(event, dt) {\n this.values.forEach((node) => {\n this.toggleCollapse(node, this.isCollapse);\n });\n this.isCollapse = !this.isCollapse;\n dt.filterGlobal(this.searchText, 'contains');\n }\n\n toggleCollapse(node: any, isCollapsed: boolean) {\n\n if (node.children) {\n node.expanded = isCollapsed;\n for (const cn of node.children) {\n if (cn) {\n this.toggleCollapse(cn, isCollapsed);\n }\n }\n }\n }\n\n}\n\n\n@NgModule({\n imports: [CommonModule, TreeTableModule, PipesModule, TranslateModule, FormsModule, TableComponentModule],\n exports: [TreeTableComponent],\n declarations: [TreeTableComponent]\n})\nexport class TreeTableComponentModule {\n}\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'in-radiobutton',\n templateUrl: './radiobutton.component.html',\n styleUrls: ['./radiobutton.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RadiobuttonComponent {\n @Input() name = null;\n @Input() label = null;\n @Input() required = false;\n @Input() error = null;\n @Input() placeholder = '';\n @Input() id = null;\n @Input() disabled: boolean;\n @Input() value;\n @Input() values;\n @Input() keyLabel;\n @Input() item;\n @Output() change = new EventEmitter();\n\n\n constructor() {\n }\n\n\n onChangeEvent(value) {\n this.change.next({name: this.name, value});\n }\n}\n","import {\n Component, OnInit,\n} from '@angular/core';\nimport {Router} from '@angular/router';\nimport {DynamicDialogConfig, DynamicDialogRef, TreeNode} from 'primeng/api';\nimport {InsparkMessageService} from \"../../services/inspark-message.service\";\nimport {gettext} from \"../../utils/gettextMarker.function\";\n\n@Component({\n selector: 'app-select-list',\n templateUrl: './select-list.component.html',\n styleUrls: ['./select-list.component.scss'],\n})\nexport class SelectListComponent implements OnInit {\n\n objects: any[];\n selected: Boolean[];\n title: string;\n objs;\n options: {value: string, checked: boolean}[] = null;\n isShowSpinner = false;\n\n constructor(public ref: DynamicDialogRef,\n public config: DynamicDialogConfig,\n private messageService: InsparkMessageService,\n public router: Router,\n ) {\n\n }\n\n ngOnInit() {\n this.options = this.config.data.command.options.map(item => {\n return {value: item, checked: false};\n }\n );\n this.selected = Array(this.options.length).fill(false);\n }\n\n closeModal(val = null) {\n this.ref.close(val);\n }\n\n applySelection() {\n if (!this.selected) {\n this.messageService.message(gettext('Select object'));\n return;\n } else {\n this.closeModal({selected: this.options.filter(o => o.checked)});\n }\n\n }\n\n\n select(i) {\n this.options[i].checked = !this.options[i].checked;\n }\n\n\n\n highlight(value: string, text): string {\n const regex = new RegExp('(' + text + ')', 'gi');\n return value.replace(regex, '<span class=\"u-text-highlight\">$1</span>');\n }\n}\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'in-object-tree',\n templateUrl: './object-tree.component.html',\n styleUrls: ['./object-tree.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ObjectTreeComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import {\n Component, OnInit,\n} from '@angular/core';\nimport {Router} from '@angular/router';\nimport {DynamicDialogConfig, DynamicDialogRef, TreeNode} from 'primeng/api';\nimport {TranslateService} from '@ngx-translate/core';\nimport {InsparkMessageService} from \"../../services/inspark-message.service\";\nimport {gettext} from \"../../utils/gettextMarker.function\";\n\n@Component({\n selector: 'app-modal-input-text',\n templateUrl: './modal-input-text.component.html',\n styleUrls: ['./modal-input-text.component.scss'],\n})\nexport class ModalInputTextComponent implements OnInit {\n\n objects: any[];\n selected: Boolean[];\n title: string;\n objs;\n options: {value: string, checked: boolean}[] = null;\n param: any;\n isShowSpinner = false;\n maxLength = 0;\n\n constructor(public ref: DynamicDialogRef,\n public config: DynamicDialogConfig,\n private translateService: TranslateService,\n private messageService: InsparkMessageService,\n public router: Router,\n ) {\n\n }\n\n ngOnInit() {\n this.param = this.config.data.command.param;\n this.options = this.config.data.command.options.map(item => {\n return {value: item, checked: false};\n }\n );\n if (this.options && this.options.length > 0) {\n this.calculateWidth();\n }\n this.selected = Array(this.options.length).fill(false);\n }\n\n closeModal(val = null) {\n this.ref.close(val);\n }\n\n applySelection() {\n if (!this.selected) {\n this.messageService.message(gettext('Select object'));\n return;\n } else {\n this.closeModal(\n {\n selected: this.options.filter(o => o.checked),\n param: this.param ? this.param.value : undefined\n });\n }\n\n }\n\n\n select(i) {\n this.options[i].checked = !this.options[i].checked;\n }\n\n checkSelected() {\n if (this.param) {\n return !this.param.value;\n } else if (this.options) {\n return this.options.filter(opt => opt.checked).length === 0;\n }\n return false;\n }\n\n\n highlight(value: string, text): string {\n const regex = new RegExp('(' + text + ')', 'gi');\n return value.replace(regex, '<span class=\"u-text-highlight\">$1</span>');\n }\n\n calculateWidth() {\n this.options.forEach(opt => {\n if (opt.value.length * 7 > this.maxLength) {\n this.maxLength = opt.value.length * 7 + 100;\n }\n });\n }\n\n translate(str: string) {\n const splited = str.split('\\n');\n let translated = '';\n splited.forEach(s => translated += this.translateService.instant(s) + '\\n');\n return translated;\n }\n}\n","import {ChangeDetectorRef, Component, EventEmitter, Input, Output} from '@angular/core';\n\n\n@Component({\n selector: 'in-content-toggle',\n templateUrl: './content-toggle.component.html',\n styleUrls: ['./content-toggle.component.scss'],\n})\nexport class ContentToggleComponent {\n\n @Input() label: any;\n @Input() isOpen = true;\n @Input() icon: string = null;\n\n @Output() toggle: EventEmitter<any> = new EventEmitter();\n\n constructor(private cdr: ChangeDetectorRef) {\n\n }\n\n toggleOpen() {\n this.isOpen = !this.isOpen;\n this.toggle.emit(this.isOpen);\n this.cdr.detectChanges();\n }\n}\n","import {NgModule, NO_ERRORS_SCHEMA} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {CommonModule} from '@angular/common';\nimport {ButtonComponent} from './button/button.component';\nimport {InputTextComponent} from './input-text/input-text.component';\nimport {TextareaComponent} from './textarea/textarea.component';\nimport {PanelComponent} from './panel/panel.component';\nimport {ComponentContainerComponent} from './component-container/component-container.component';\nimport {CheckboxComponent} from './checkbox/checkbox.component';\nimport {DropdownComponentModule} from './dropdown/dropdown.component';\nimport {TableComponentModule} from './table/table.component';\nimport {EmptyComponent} from './empty/empty.component';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {PreloaderComponent} from './preloader/preloader.component';\nimport {InsparkStickyComponent} from './sticky/sticky.component';\nimport {InsparkHeaderComponent} from './header/header.component';\nimport {ToolbarComponent} from './toolbar/toolbar.component';\nimport {BreadcrumbModule, RadioButtonModule, SharedModule, TreeModule} from 'primeng/primeng';\nimport {BreadcrumbComponent} from './breadcrumb/breadcrumb.component';\nimport {FileComponent} from './file/file.component';\nimport {InsparkTemplate} from './inspark.shared';\nimport {SelectButtonComponent} from './select-button/select-button.component';\nimport {StatusCircleComponent} from './status-circle/status-circle.component';\nimport {InlineSVGModule} from 'ng-inline-svg';\nimport {SvgComponent} from './svg/svg.component';\nimport {SwitcherComponent} from './switcher/switcher.component';\nimport {MenuModule} from 'primeng/menu';\nimport {InlineMessageComponent} from './inline-message/inline-message.component';\nimport {SliderModule} from 'primeng/slider';\nimport {LinkComponent} from './link/link.component';\nimport {NgbModule} from '@ng-bootstrap/ng-bootstrap';\nimport {TooltipComponent} from './tooltip/tooltip.component';\nimport {TreeTableComponentModule} from './tree-table/tree-table.component';\nimport {RadiobuttonComponent} from './radiobutton/radiobutton.component';\nimport {SelectListComponent} from './select-list/select-list.component';\nimport {ObjectTreeComponent} from './object-tree/object-tree.component';\nimport {ModalInputTextComponent} from './modal-input-text/modal-input-text.component';\nimport {ContentToggleComponent} from './content-toggle/content-toggle.component';\n\n@NgModule({\n imports: [\n FormsModule,\n ReactiveFormsModule,\n CommonModule,\n DropdownComponentModule,\n TableComponentModule,\n TreeTableComponentModule,\n RadioButtonModule,\n TranslateModule,\n MenuModule,\n SliderModule,\n NgbModule,\n InlineSVGModule.forRoot({baseUrl: 'assets/images/'}),\n BreadcrumbModule,\n TreeModule,\n SharedModule\n ],\n declarations: [\n ButtonComponent,\n InputTextComponent,\n TextareaComponent,\n PanelComponent,\n ComponentContainerComponent,\n CheckboxComponent,\n EmptyComponent,\n PreloaderComponent,\n InsparkStickyComponent,\n InsparkHeaderComponent,\n ToolbarComponent,\n BreadcrumbComponent,\n FileComponent,\n SelectButtonComponent,\n ModalInputTextComponent,\n SelectListComponent,\n StatusCircleComponent,\n SvgComponent,\n SwitcherComponent,\n InlineMessageComponent,\n LinkComponent,\n InsparkTemplate,\n TooltipComponent,\n RadiobuttonComponent,\n ObjectTreeComponent,\n ContentToggleComponent\n ],\n exports: [\n ButtonComponent,\n InputTextComponent,\n TextareaComponent,\n PanelComponent,\n ComponentContainerComponent,\n CheckboxComponent,\n DropdownComponentModule,\n TableComponentModule,\n TreeTableComponentModule,\n EmptyComponent,\n PreloaderComponent,\n InsparkStickyComponent,\n InsparkHeaderComponent,\n ToolbarComponent,\n BreadcrumbComponent,\n FileComponent,\n SelectButtonComponent,\n ModalInputTextComponent,\n SelectListComponent,\n StatusCircleComponent,\n SvgComponent,\n SwitcherComponent,\n MenuModule,\n SliderModule,\n InlineMessageComponent,\n LinkComponent,\n InsparkTemplate,\n NgbModule,\n TooltipComponent,\n RadiobuttonComponent,\n ObjectTreeComponent,\n ContentToggleComponent\n ],\n entryComponents: [SelectListComponent, ModalInputTextComponent],\n schemas: [NO_ERRORS_SCHEMA]\n})\nexport class InsparkComponentsModule {\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { MenuItem } from 'primeng/api';
3
+ export declare class BreadcrumbComponent implements OnInit {
4
+ items: MenuItem[];
5
+ constructor();
6
+ ngOnInit(): void;
7
+ }
@@ -0,0 +1,57 @@
1
+ import { ChangeDetectorRef, EventEmitter, OnChanges, OnInit } from '@angular/core';
2
+ import { Button as PButton, Menu } from 'primeng/primeng';
3
+ import { InsparkMenuItem } from "../../interface";
4
+ declare type ButtonSize = 'small' | 'normal' | 'large';
5
+ declare type ButtonColor = 'normal' | 'danger' | 'primary' | 'secondary' | 'transparent';
6
+ declare type ButtonType = 'button' | 'submit';
7
+ declare type IconPos = 'left' | 'right';
8
+ declare type ButtonNotify = 'warning' | 'error';
9
+ export declare class ButtonComponent extends PButton implements OnInit, OnChanges {
10
+ private cdr;
11
+ size: ButtonSize;
12
+ color: ButtonColor;
13
+ type: ButtonType;
14
+ name: string;
15
+ testId: string;
16
+ label: string;
17
+ icon: string;
18
+ className: string;
19
+ notify: ButtonNotify;
20
+ svg: string;
21
+ width: string;
22
+ link: string;
23
+ isLoading: boolean;
24
+ shadow: boolean;
25
+ isIconOnly: boolean;
26
+ /**
27
+ * external - ссылка на внешний источник
28
+ * internal - ссылка внутри приложения
29
+ * auto - определяется автоматически исходя из link
30
+ */
31
+ linkType: 'auto' | 'external' | 'internal';
32
+ /**
33
+ * self - открывается в этом же окне
34
+ * blank - открывается в новом окне
35
+ * auto - определяется автоматически исходя из linkType
36
+ */
37
+ linkTarget: 'auto' | 'self' | 'blank';
38
+ pressed: boolean;
39
+ disabled: boolean;
40
+ iconPos: IconPos;
41
+ selectedItem: any;
42
+ menuPlacement: string;
43
+ menuItems: InsparkMenuItem[];
44
+ _menu: Menu;
45
+ focus: EventEmitter<any>;
46
+ blur: EventEmitter<any>;
47
+ click: EventEmitter<any>;
48
+ _target: string;
49
+ _linkType: 'auto' | 'external' | 'internal';
50
+ isMaterialIcon: boolean;
51
+ constructor(cdr: ChangeDetectorRef);
52
+ ngOnInit(): void;
53
+ ngOnChanges(changes: any): void;
54
+ updateData(): void;
55
+ _onClick($event: any): void;
56
+ }
57
+ export {};
@@ -0,0 +1,36 @@
1
+ import { ChangeDetectorRef, ElementRef } from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+ import { Router } from '@angular/router';
4
+ export declare class CheckboxComponent implements ControlValueAccessor {
5
+ element: ElementRef;
6
+ private cdRef;
7
+ router: Router;
8
+ name: any;
9
+ label: any;
10
+ required: boolean;
11
+ error: any;
12
+ placeholder: string;
13
+ id: any;
14
+ disabled: boolean;
15
+ value: string;
16
+ constructor(element: ElementRef, cdRef: ChangeDetectorRef, router: Router);
17
+ /**
18
+ * Write form value to the DOM element (model => view)
19
+ */
20
+ writeValue(value: any): void;
21
+ /**
22
+ * Write form disabled state to the DOM element (model => view)
23
+ */
24
+ setDisabledState(isDisabled: boolean): void;
25
+ /**
26
+ * Update form when DOM element value changes (view => model)
27
+ */
28
+ registerOnChange(fn: any): void;
29
+ /**
30
+ * Update form when DOM element is blurred (view => model)
31
+ */
32
+ registerOnTouched(fn: any): void;
33
+ private propagateChange;
34
+ onChange(_: any): void;
35
+ private onTouched;
36
+ }
@@ -0,0 +1,6 @@
1
+ export declare class CommunicationService {
2
+ private messageSource;
3
+ message$: {};
4
+ create(id: number): void;
5
+ next(widgetId: number, value: any): void;
6
+ }
@@ -0,0 +1,5 @@
1
+ declare type ALIGN = 'right' | 'left' | 'center';
2
+ export declare class ComponentContainerComponent {
3
+ align: ALIGN;
4
+ }
5
+ export {};
@@ -0,0 +1,10 @@
1
+ import { ChangeDetectorRef, EventEmitter } from '@angular/core';
2
+ export declare class ContentToggleComponent {
3
+ private cdr;
4
+ label: any;
5
+ isOpen: boolean;
6
+ icon: string;
7
+ toggle: EventEmitter<any>;
8
+ constructor(cdr: ChangeDetectorRef);
9
+ toggleOpen(): void;
10
+ }
@@ -0,0 +1,68 @@
1
+ import { EventEmitter, TemplateRef } from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+ import { Dropdown, SelectItem } from 'primeng/primeng';
4
+ export declare class DropdownItem {
5
+ option: SelectItem;
6
+ selected: boolean;
7
+ disabled: boolean;
8
+ visible: boolean;
9
+ itemSize: number;
10
+ template: TemplateRef<any>;
11
+ onClick: EventEmitter<any>;
12
+ onOptionClick(event: Event): void;
13
+ }
14
+ export declare class DropdownComponent extends Dropdown implements ControlValueAccessor {
15
+ scrollHeight: string;
16
+ filter: boolean;
17
+ name: string;
18
+ style: any;
19
+ panelStyle: any;
20
+ styleClass: string;
21
+ panelStyleClass: string;
22
+ readonly: boolean;
23
+ required: boolean;
24
+ editable: boolean;
25
+ appendTo: any;
26
+ tabindex: number;
27
+ placeholder: string;
28
+ filterPlaceholder: string;
29
+ inputId: string;
30
+ selectId: string;
31
+ dataKey: string;
32
+ filterBy: string;
33
+ autofocus: boolean;
34
+ resetFilterOnHide: boolean;
35
+ dropdownIcon: string;
36
+ optionLabel: string;
37
+ autoDisplayFirst: boolean;
38
+ group: boolean;
39
+ showClear: boolean;
40
+ emptyFilterMessage: string;
41
+ virtualScroll: boolean;
42
+ itemSize: number;
43
+ autoZIndex: boolean;
44
+ baseZIndex: number;
45
+ showTransitionOptions: string;
46
+ hideTransitionOptions: string;
47
+ ariaFilterLabel: string;
48
+ filterMatchMode: string;
49
+ maxlength: number;
50
+ tooltip: string;
51
+ options: any[];
52
+ error: any;
53
+ tooltipPosition: string;
54
+ tooltipPositionStyle: string;
55
+ tooltipStyleClass: string;
56
+ onChange: EventEmitter<any>;
57
+ onFocus: EventEmitter<any>;
58
+ onBlur: EventEmitter<any>;
59
+ onClick: EventEmitter<any>;
60
+ onShow: EventEmitter<any>;
61
+ onHide: EventEmitter<any>;
62
+ _label: string;
63
+ get label(): string;
64
+ set label(val: string);
65
+ get labelText(): string;
66
+ }
67
+ export declare class DropdownComponentModule {
68
+ }
@@ -0,0 +1,2 @@
1
+ export declare class EmptyComponent {
2
+ }
@@ -0,0 +1,14 @@
1
+ import { ElementRef, EventEmitter } from '@angular/core';
2
+ export declare class FileComponent {
3
+ name: any;
4
+ label: any;
5
+ accept: string;
6
+ required: boolean;
7
+ error: any;
8
+ onChange: EventEmitter<any>;
9
+ el: ElementRef;
10
+ file: File;
11
+ onClear(): void;
12
+ onClickChoose(): void;
13
+ onChangeFile(e: any): void;
14
+ }
@@ -0,0 +1,7 @@
1
+ import { OnInit } from '@angular/core';
2
+ export declare class InsparkHeaderComponent implements OnInit {
3
+ level: number;
4
+ label: string;
5
+ constructor();
6
+ ngOnInit(): void;
7
+ }
@@ -0,0 +1,4 @@
1
+ export declare class InlineMessageComponent {
2
+ message: string;
3
+ align: 'center' | 'left' | 'right';
4
+ }