@inspark/inspark-components 19.0.10 → 19.0.12

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.
@@ -798,32 +798,37 @@ function TableComponent_4_Template(rf, ctx) { if (rf & 1) {
798
798
  i0.ɵɵtemplate(0, TableComponent_4_ng_template_0_Template, 1, 1, "ng-template", 11);
799
799
  } }
800
800
  function TableComponent_ng_template_5_ng_container_0_th_2_Template(rf, ctx) { if (rf & 1) {
801
- i0.ɵɵelementStart(0, "th", 18);
802
- i0.ɵɵelement(1, "p-tableHeaderCheckbox");
803
- i0.ɵɵelementEnd();
801
+ const _r4 = i0.ɵɵgetCurrentView();
802
+ i0.ɵɵelementStart(0, "th", 18)(1, "input", 19);
803
+ i0.ɵɵlistener("change", function TableComponent_ng_template_5_ng_container_0_th_2_Template_input_change_1_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1._onHeaderCheckboxChange($event)); })("click", function TableComponent_ng_template_5_ng_container_0_th_2_Template_input_click_1_listener($event) { i0.ɵɵrestoreView(_r4); return i0.ɵɵresetView($event.stopPropagation()); });
804
+ i0.ɵɵelementEnd()();
805
+ } if (rf & 2) {
806
+ const ctx_r1 = i0.ɵɵnextContext(3);
807
+ i0.ɵɵadvance();
808
+ i0.ɵɵproperty("checked", ctx_r1._isAllSelected());
804
809
  } }
805
810
  function TableComponent_ng_template_5_ng_container_0_th_3_p_sortIcon_5_Template(rf, ctx) { if (rf & 1) {
806
- i0.ɵɵelement(0, "p-sortIcon", 22);
811
+ i0.ɵɵelement(0, "p-sortIcon", 23);
807
812
  } if (rf & 2) {
808
- const col_r4 = i0.ɵɵnextContext().$implicit;
809
- i0.ɵɵproperty("field", col_r4.field);
813
+ const col_r5 = i0.ɵɵnextContext().$implicit;
814
+ i0.ɵɵproperty("field", col_r5.field);
810
815
  } }
811
816
  function TableComponent_ng_template_5_ng_container_0_th_3_Template(rf, ctx) { if (rf & 1) {
812
- i0.ɵɵelementStart(0, "th", 19)(1, "div", 20);
817
+ i0.ɵɵelementStart(0, "th", 20)(1, "div", 21);
813
818
  i0.ɵɵpipe(2, "translate");
814
819
  i0.ɵɵtext(3);
815
820
  i0.ɵɵpipe(4, "translate");
816
821
  i0.ɵɵelementEnd();
817
- i0.ɵɵtemplate(5, TableComponent_ng_template_5_ng_container_0_th_3_p_sortIcon_5_Template, 1, 1, "p-sortIcon", 21);
822
+ i0.ɵɵtemplate(5, TableComponent_ng_template_5_ng_container_0_th_3_p_sortIcon_5_Template, 1, 1, "p-sortIcon", 22);
818
823
  i0.ɵɵelementEnd();
819
824
  } if (rf & 2) {
820
- const col_r4 = ctx.$implicit;
825
+ const col_r5 = ctx.$implicit;
821
826
  const ctx_r1 = i0.ɵɵnextContext(3);
822
- i0.ɵɵproperty("pSortableColumn", col_r4.field);
827
+ i0.ɵɵproperty("pSortableColumn", col_r5.field);
823
828
  i0.ɵɵadvance();
824
- i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(2, 4, col_r4.label));
829
+ i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(2, 4, col_r5.label));
825
830
  i0.ɵɵadvance(2);
826
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 6, col_r4.label), " ");
831
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 6, col_r5.label), " ");
827
832
  i0.ɵɵadvance(2);
828
833
  i0.ɵɵproperty("ngIf", ctx_r1.isSortIcon);
829
834
  } }
@@ -831,80 +836,80 @@ function TableComponent_ng_template_5_ng_container_0_tr_4_th_1_Template(rf, ctx)
831
836
  i0.ɵɵelement(0, "th", 18);
832
837
  } }
833
838
  function TableComponent_ng_template_5_ng_container_0_tr_4_th_2_input_1_Template(rf, ctx) { if (rf & 1) {
834
- const _r5 = i0.ɵɵgetCurrentView();
835
- i0.ɵɵelementStart(0, "input", 28);
836
- i0.ɵɵlistener("input", function TableComponent_ng_template_5_ng_container_0_tr_4_th_2_input_1_Template_input_input_0_listener($event) { i0.ɵɵrestoreView(_r5); const col_r6 = i0.ɵɵnextContext().$implicit; i0.ɵɵnextContext(4); const dt_r7 = i0.ɵɵreference(2); return i0.ɵɵresetView(dt_r7.filter($event.target.value, col_r6.field, "contains")); });
839
+ const _r6 = i0.ɵɵgetCurrentView();
840
+ i0.ɵɵelementStart(0, "input", 29);
841
+ i0.ɵɵlistener("input", function TableComponent_ng_template_5_ng_container_0_tr_4_th_2_input_1_Template_input_input_0_listener($event) { i0.ɵɵrestoreView(_r6); const col_r7 = i0.ɵɵnextContext().$implicit; i0.ɵɵnextContext(4); const dt_r8 = i0.ɵɵreference(2); return i0.ɵɵresetView(dt_r8.filter($event.target.value, col_r7.field, "contains")); });
837
842
  i0.ɵɵelementEnd();
838
843
  } }
839
844
  function TableComponent_ng_template_5_ng_container_0_tr_4_th_2_p_dropdown_2_Template(rf, ctx) { if (rf & 1) {
840
- const _r8 = i0.ɵɵgetCurrentView();
841
- i0.ɵɵelementStart(0, "p-dropdown", 29);
842
- i0.ɵɵlistener("onChange", function TableComponent_ng_template_5_ng_container_0_tr_4_th_2_p_dropdown_2_Template_p_dropdown_onChange_0_listener($event) { i0.ɵɵrestoreView(_r8); const col_r6 = i0.ɵɵnextContext().$implicit; i0.ɵɵnextContext(4); const dt_r7 = i0.ɵɵreference(2); return i0.ɵɵresetView(dt_r7.filter($event.value, col_r6.field, "equals")); });
845
+ const _r9 = i0.ɵɵgetCurrentView();
846
+ i0.ɵɵelementStart(0, "p-dropdown", 30);
847
+ i0.ɵɵlistener("onChange", function TableComponent_ng_template_5_ng_container_0_tr_4_th_2_p_dropdown_2_Template_p_dropdown_onChange_0_listener($event) { i0.ɵɵrestoreView(_r9); const col_r7 = i0.ɵɵnextContext().$implicit; i0.ɵɵnextContext(4); const dt_r8 = i0.ɵɵreference(2); return i0.ɵɵresetView(dt_r8.filter($event.value, col_r7.field, "equals")); });
843
848
  i0.ɵɵelementEnd();
844
849
  } if (rf & 2) {
845
850
  let tmp_9_0;
846
- const col_r6 = i0.ɵɵnextContext().$implicit;
851
+ const col_r7 = i0.ɵɵnextContext().$implicit;
847
852
  const ctx_r1 = i0.ɵɵnextContext(4);
848
853
  i0.ɵɵstyleMap(i0.ɵɵpureFunction0(3, _c4$3));
849
- i0.ɵɵproperty("options", (tmp_9_0 = ctx_r1.colFilter(col_r6.field)) == null ? null : tmp_9_0.options);
854
+ i0.ɵɵproperty("options", (tmp_9_0 = ctx_r1.colFilter(col_r7.field)) == null ? null : tmp_9_0.options);
850
855
  } }
851
856
  function TableComponent_ng_template_5_ng_container_0_tr_4_th_2_p_multiSelect_3_Template(rf, ctx) { if (rf & 1) {
852
- const _r9 = i0.ɵɵgetCurrentView();
853
- i0.ɵɵelementStart(0, "p-multiSelect", 30);
857
+ const _r10 = i0.ɵɵgetCurrentView();
858
+ i0.ɵɵelementStart(0, "p-multiSelect", 31);
854
859
  i0.ɵɵpipe(1, "translate");
855
- i0.ɵɵlistener("onChange", function TableComponent_ng_template_5_ng_container_0_tr_4_th_2_p_multiSelect_3_Template_p_multiSelect_onChange_0_listener($event) { i0.ɵɵrestoreView(_r9); const col_r6 = i0.ɵɵnextContext().$implicit; i0.ɵɵnextContext(4); const dt_r7 = i0.ɵɵreference(2); return i0.ɵɵresetView(dt_r7.filter($event.value, col_r6.field, "in")); });
860
+ i0.ɵɵlistener("onChange", function TableComponent_ng_template_5_ng_container_0_tr_4_th_2_p_multiSelect_3_Template_p_multiSelect_onChange_0_listener($event) { i0.ɵɵrestoreView(_r10); const col_r7 = i0.ɵɵnextContext().$implicit; i0.ɵɵnextContext(4); const dt_r8 = i0.ɵɵreference(2); return i0.ɵɵresetView(dt_r8.filter($event.value, col_r7.field, "in")); });
856
861
  i0.ɵɵelementEnd();
857
862
  } if (rf & 2) {
858
863
  let tmp_10_0;
859
- const col_r6 = i0.ɵɵnextContext().$implicit;
864
+ const col_r7 = i0.ɵɵnextContext().$implicit;
860
865
  const ctx_r1 = i0.ɵɵnextContext(4);
861
866
  i0.ɵɵstyleMap(i0.ɵɵpureFunction0(6, _c4$3));
862
867
  i0.ɵɵpropertyInterpolate("defaultLabel", i0.ɵɵpipeBind1(1, 4, "All"));
863
- i0.ɵɵproperty("options", (tmp_10_0 = ctx_r1.colFilter(col_r6.field)) == null ? null : tmp_10_0.options);
868
+ i0.ɵɵproperty("options", (tmp_10_0 = ctx_r1.colFilter(col_r7.field)) == null ? null : tmp_10_0.options);
864
869
  } }
865
870
  function TableComponent_ng_template_5_ng_container_0_tr_4_th_2_input_4_Template(rf, ctx) { if (rf & 1) {
866
- const _r10 = i0.ɵɵgetCurrentView();
867
- i0.ɵɵelementStart(0, "input", 28);
868
- i0.ɵɵlistener("input", function TableComponent_ng_template_5_ng_container_0_tr_4_th_2_input_4_Template_input_input_0_listener($event) { i0.ɵɵrestoreView(_r10); const col_r6 = i0.ɵɵnextContext().$implicit; i0.ɵɵnextContext(4); const dt_r7 = i0.ɵɵreference(2); return i0.ɵɵresetView(dt_r7.filter($event.target.value, col_r6.field + "2filter", "contains")); });
871
+ const _r11 = i0.ɵɵgetCurrentView();
872
+ i0.ɵɵelementStart(0, "input", 29);
873
+ i0.ɵɵlistener("input", function TableComponent_ng_template_5_ng_container_0_tr_4_th_2_input_4_Template_input_input_0_listener($event) { i0.ɵɵrestoreView(_r11); const col_r7 = i0.ɵɵnextContext().$implicit; i0.ɵɵnextContext(4); const dt_r8 = i0.ɵɵreference(2); return i0.ɵɵresetView(dt_r8.filter($event.target.value, col_r7.field + "2filter", "contains")); });
869
874
  i0.ɵɵelementEnd();
870
875
  } }
871
876
  function TableComponent_ng_template_5_ng_container_0_tr_4_th_2_Template(rf, ctx) { if (rf & 1) {
872
- i0.ɵɵelementStart(0, "th", 24);
873
- i0.ɵɵtemplate(1, TableComponent_ng_template_5_ng_container_0_tr_4_th_2_input_1_Template, 1, 0, "input", 25)(2, TableComponent_ng_template_5_ng_container_0_tr_4_th_2_p_dropdown_2_Template, 1, 4, "p-dropdown", 26)(3, TableComponent_ng_template_5_ng_container_0_tr_4_th_2_p_multiSelect_3_Template, 2, 7, "p-multiSelect", 27)(4, TableComponent_ng_template_5_ng_container_0_tr_4_th_2_input_4_Template, 1, 0, "input", 25);
877
+ i0.ɵɵelementStart(0, "th", 25);
878
+ i0.ɵɵtemplate(1, TableComponent_ng_template_5_ng_container_0_tr_4_th_2_input_1_Template, 1, 0, "input", 26)(2, TableComponent_ng_template_5_ng_container_0_tr_4_th_2_p_dropdown_2_Template, 1, 4, "p-dropdown", 27)(3, TableComponent_ng_template_5_ng_container_0_tr_4_th_2_p_multiSelect_3_Template, 2, 7, "p-multiSelect", 28)(4, TableComponent_ng_template_5_ng_container_0_tr_4_th_2_input_4_Template, 1, 0, "input", 26);
874
879
  i0.ɵɵelementEnd();
875
880
  } if (rf & 2) {
876
881
  let tmp_8_0;
877
882
  let tmp_9_0;
878
883
  let tmp_10_0;
879
884
  let tmp_11_0;
880
- const col_r6 = ctx.$implicit;
885
+ const col_r7 = ctx.$implicit;
881
886
  const ctx_r1 = i0.ɵɵnextContext(4);
882
- i0.ɵɵproperty("ngSwitch", col_r6.field);
887
+ i0.ɵɵproperty("ngSwitch", col_r7.field);
883
888
  i0.ɵɵadvance();
884
- i0.ɵɵproperty("ngSwitchCase", ((tmp_8_0 = ctx_r1.colFilter(col_r6.field)) == null ? null : tmp_8_0.type) === "text" ? col_r6.field : "");
889
+ i0.ɵɵproperty("ngSwitchCase", ((tmp_8_0 = ctx_r1.colFilter(col_r7.field)) == null ? null : tmp_8_0.type) === "text" ? col_r7.field : "");
885
890
  i0.ɵɵadvance();
886
- i0.ɵɵproperty("ngSwitchCase", ((tmp_9_0 = ctx_r1.colFilter(col_r6.field)) == null ? null : tmp_9_0.type) === "dropdown" ? col_r6.field : "");
891
+ i0.ɵɵproperty("ngSwitchCase", ((tmp_9_0 = ctx_r1.colFilter(col_r7.field)) == null ? null : tmp_9_0.type) === "dropdown" ? col_r7.field : "");
887
892
  i0.ɵɵadvance();
888
- i0.ɵɵproperty("ngSwitchCase", ((tmp_10_0 = ctx_r1.colFilter(col_r6.field)) == null ? null : tmp_10_0.type) === "multiselect" ? col_r6.field : "");
893
+ i0.ɵɵproperty("ngSwitchCase", ((tmp_10_0 = ctx_r1.colFilter(col_r7.field)) == null ? null : tmp_10_0.type) === "multiselect" ? col_r7.field : "");
889
894
  i0.ɵɵadvance();
890
- i0.ɵɵproperty("ngSwitchCase", ((tmp_11_0 = ctx_r1.colFilter(col_r6.field)) == null ? null : tmp_11_0.type) === "datetext" ? col_r6.field : "");
895
+ i0.ɵɵproperty("ngSwitchCase", ((tmp_11_0 = ctx_r1.colFilter(col_r7.field)) == null ? null : tmp_11_0.type) === "datetext" ? col_r7.field : "");
891
896
  } }
892
897
  function TableComponent_ng_template_5_ng_container_0_tr_4_Template(rf, ctx) { if (rf & 1) {
893
898
  i0.ɵɵelementStart(0, "tr");
894
- i0.ɵɵtemplate(1, TableComponent_ng_template_5_ng_container_0_tr_4_th_1_Template, 1, 0, "th", 16)(2, TableComponent_ng_template_5_ng_container_0_tr_4_th_2_Template, 5, 5, "th", 23);
899
+ i0.ɵɵtemplate(1, TableComponent_ng_template_5_ng_container_0_tr_4_th_1_Template, 1, 0, "th", 16)(2, TableComponent_ng_template_5_ng_container_0_tr_4_th_2_Template, 5, 5, "th", 24);
895
900
  i0.ɵɵelementEnd();
896
901
  } if (rf & 2) {
897
- const columns_r11 = i0.ɵɵnextContext(2).$implicit;
902
+ const columns_r12 = i0.ɵɵnextContext(2).$implicit;
898
903
  const ctx_r1 = i0.ɵɵnextContext();
899
904
  i0.ɵɵadvance();
900
905
  i0.ɵɵproperty("ngIf", ctx_r1.checkboxSelection);
901
906
  i0.ɵɵadvance();
902
- i0.ɵɵproperty("ngForOf", columns_r11);
907
+ i0.ɵɵproperty("ngForOf", columns_r12);
903
908
  } }
904
909
  function TableComponent_ng_template_5_ng_container_0_Template(rf, ctx) { if (rf & 1) {
905
910
  i0.ɵɵelementContainerStart(0);
906
911
  i0.ɵɵelementStart(1, "tr");
907
- i0.ɵɵtemplate(2, TableComponent_ng_template_5_ng_container_0_th_2_Template, 2, 0, "th", 16)(3, TableComponent_ng_template_5_ng_container_0_th_3_Template, 6, 8, "th", 17);
912
+ i0.ɵɵtemplate(2, TableComponent_ng_template_5_ng_container_0_th_2_Template, 2, 1, "th", 16)(3, TableComponent_ng_template_5_ng_container_0_th_3_Template, 6, 8, "th", 17);
908
913
  i0.ɵɵelementEnd();
909
914
  i0.ɵɵtemplate(4, TableComponent_ng_template_5_ng_container_0_tr_4_Template, 3, 2, "tr", 4);
910
915
  i0.ɵɵelementContainerEnd();
@@ -929,117 +934,117 @@ function TableComponent_6_ng_template_0_ng_container_0_Template(rf, ctx) { if (r
929
934
  function TableComponent_6_ng_template_0_Template(rf, ctx) { if (rf & 1) {
930
935
  i0.ɵɵtemplate(0, TableComponent_6_ng_template_0_ng_container_0_Template, 1, 0, "ng-container", 12);
931
936
  } if (rf & 2) {
932
- const columns_r12 = ctx.columns;
933
- const rowData_r13 = ctx.$implicit;
934
- const rowIndex_r14 = ctx.rowIndex;
937
+ const columns_r13 = ctx.columns;
938
+ const rowData_r14 = ctx.$implicit;
939
+ const rowIndex_r15 = ctx.rowIndex;
935
940
  const ctx_r1 = i0.ɵɵnextContext(2);
936
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.bodyTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(6, _c3$6, i0.ɵɵpureFunction3(2, _c5$1, rowIndex_r14, rowData_r13, columns_r12)));
941
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.bodyTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(6, _c3$6, i0.ɵɵpureFunction3(2, _c5$1, rowIndex_r15, rowData_r14, columns_r13)));
937
942
  } }
938
943
  function TableComponent_6_Template(rf, ctx) { if (rf & 1) {
939
- i0.ɵɵtemplate(0, TableComponent_6_ng_template_0_Template, 1, 8, "ng-template", 31);
944
+ i0.ɵɵtemplate(0, TableComponent_6_ng_template_0_Template, 1, 8, "ng-template", 32);
940
945
  } }
941
946
  function TableComponent_7_ng_template_0_tr_0_Template(rf, ctx) { if (rf & 1) {
942
- const _r15 = i0.ɵɵgetCurrentView();
943
- i0.ɵɵelementStart(0, "tr", 34);
944
- i0.ɵɵlistener("click", function TableComponent_7_ng_template_0_tr_0_Template_tr_click_0_listener() { i0.ɵɵrestoreView(_r15); const ctx_r15 = i0.ɵɵnextContext(); const index_r17 = ctx_r15.rowIndex; const rowData_r18 = ctx_r15.$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.toggleGroup(index_r17, rowData_r18.groupKey[ctx_r1.groupMode])); });
945
- i0.ɵɵelementStart(1, "td", 35)(2, "span");
946
- i0.ɵɵelement(3, "i", 36);
947
+ const _r16 = i0.ɵɵgetCurrentView();
948
+ i0.ɵɵelementStart(0, "tr", 35);
949
+ i0.ɵɵlistener("click", function TableComponent_7_ng_template_0_tr_0_Template_tr_click_0_listener() { i0.ɵɵrestoreView(_r16); const ctx_r16 = i0.ɵɵnextContext(); const index_r18 = ctx_r16.rowIndex; const rowData_r19 = ctx_r16.$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.toggleGroup(index_r18, rowData_r19.groupKey[ctx_r1.groupMode])); });
950
+ i0.ɵɵelementStart(1, "td", 36)(2, "span");
951
+ i0.ɵɵelement(3, "i", 37);
947
952
  i0.ɵɵelementStart(4, "span");
948
953
  i0.ɵɵtext(5);
949
954
  i0.ɵɵpipe(6, "translate");
950
955
  i0.ɵɵelementEnd()()()();
951
956
  } if (rf & 2) {
952
- const rowData_r18 = i0.ɵɵnextContext().$implicit;
957
+ const rowData_r19 = i0.ɵɵnextContext().$implicit;
953
958
  const ctx_r1 = i0.ɵɵnextContext(2);
954
959
  i0.ɵɵadvance();
955
960
  i0.ɵɵproperty("colSpan", ctx_r1.countVisibleColumns() + 1);
956
961
  i0.ɵɵadvance(2);
957
- i0.ɵɵproperty("ngClass", ctx_r1.groupInfo[rowData_r18.groupKey[ctx_r1.groupMode]].isExpanded ? "in fa-fw in-chevron-down" : "in fa-fw in-chevron-right");
962
+ i0.ɵɵproperty("ngClass", ctx_r1.groupInfo[rowData_r19.groupKey[ctx_r1.groupMode]].isExpanded ? "in fa-fw in-chevron-down" : "in fa-fw in-chevron-right");
958
963
  i0.ɵɵadvance(2);
959
- i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind1(6, 4, rowData_r18.groupKey[ctx_r1.groupMode]), " (", ctx_r1.countGroup(rowData_r18.groupKey[ctx_r1.groupMode], ctx_r1.groupMode), " )");
964
+ i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind1(6, 4, rowData_r19.groupKey[ctx_r1.groupMode]), " (", ctx_r1.countGroup(rowData_r19.groupKey[ctx_r1.groupMode], ctx_r1.groupMode), " )");
960
965
  } }
961
966
  function TableComponent_7_ng_template_0_tr_1_td_1_Template(rf, ctx) { if (rf & 1) {
962
- const _r19 = i0.ɵɵgetCurrentView();
963
- i0.ɵɵelementStart(0, "td", 40)(1, "input", 41);
964
- i0.ɵɵlistener("change", function TableComponent_7_ng_template_0_tr_1_td_1_Template_input_change_1_listener($event) { i0.ɵɵrestoreView(_r19); const rowData_r18 = i0.ɵɵnextContext(2).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1._onCheckboxChange($event, rowData_r18)); })("click", function TableComponent_7_ng_template_0_tr_1_td_1_Template_input_click_1_listener($event) { i0.ɵɵrestoreView(_r19); return i0.ɵɵresetView($event.stopPropagation()); });
967
+ const _r20 = i0.ɵɵgetCurrentView();
968
+ i0.ɵɵelementStart(0, "td", 41)(1, "input", 19);
969
+ i0.ɵɵlistener("change", function TableComponent_7_ng_template_0_tr_1_td_1_Template_input_change_1_listener($event) { i0.ɵɵrestoreView(_r20); const rowData_r19 = i0.ɵɵnextContext(2).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1._onCheckboxChange($event, rowData_r19)); })("click", function TableComponent_7_ng_template_0_tr_1_td_1_Template_input_click_1_listener($event) { i0.ɵɵrestoreView(_r20); return i0.ɵɵresetView($event.stopPropagation()); });
965
970
  i0.ɵɵelementEnd()();
966
971
  } if (rf & 2) {
967
- const rowData_r18 = i0.ɵɵnextContext(2).$implicit;
972
+ const rowData_r19 = i0.ɵɵnextContext(2).$implicit;
968
973
  const ctx_r1 = i0.ɵɵnextContext(2);
969
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction6(4, _c7, rowData_r18.sdirparamstatecolor === "success", rowData_r18.sdirparamstatecolor === "error", rowData_r18.sdirparamstatecolor === "warning", rowData_r18.sdirparamstatecolor === "critical", rowData_r18.sdirparamstatecolor === "falsevalue", rowData_r18.sdirparamstatecolor === "pending"));
974
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction6(4, _c7, rowData_r19.sdirparamstatecolor === "success", rowData_r19.sdirparamstatecolor === "error", rowData_r19.sdirparamstatecolor === "warning", rowData_r19.sdirparamstatecolor === "critical", rowData_r19.sdirparamstatecolor === "falsevalue", rowData_r19.sdirparamstatecolor === "pending"));
970
975
  i0.ɵɵadvance();
971
976
  i0.ɵɵstyleProp("pointer-events", ctx_r1.selectionMode === "single" || ctx_r1.selectionMode === "multiple" && ctx_r1.checkboxSelection ? "none" : "auto");
972
- i0.ɵɵproperty("checked", ctx_r1._isRowSelected(rowData_r18));
977
+ i0.ɵɵproperty("checked", ctx_r1._isRowSelected(rowData_r19));
973
978
  } }
974
979
  function TableComponent_7_ng_template_0_tr_1_td_2_div_1_Template(rf, ctx) { if (rf & 1) {
975
- const _r21 = i0.ɵɵgetCurrentView();
980
+ const _r22 = i0.ɵɵgetCurrentView();
976
981
  i0.ɵɵelementStart(0, "div", 44);
977
- i0.ɵɵlistener("mouseover", function TableComponent_7_ng_template_0_tr_1_td_2_div_1_Template_div_mouseover_0_listener($event) { i0.ɵɵrestoreView(_r21); const ctx_r1 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r1.showTooltip($event)); });
982
+ i0.ɵɵlistener("mouseover", function TableComponent_7_ng_template_0_tr_1_td_2_div_1_Template_div_mouseover_0_listener($event) { i0.ɵɵrestoreView(_r22); const ctx_r1 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r1.showTooltip($event)); });
978
983
  i0.ɵɵtext(1);
979
984
  i0.ɵɵpipe(2, "propertyValue");
980
985
  i0.ɵɵpipe(3, "translate");
981
986
  i0.ɵɵpipe(4, "propertyValue");
982
987
  i0.ɵɵelementEnd();
983
988
  } if (rf & 2) {
984
- const col_r22 = i0.ɵɵnextContext().$implicit;
985
- const rowData_r18 = i0.ɵɵnextContext(2).$implicit;
989
+ const col_r23 = i0.ɵɵnextContext().$implicit;
990
+ const rowData_r19 = i0.ɵɵnextContext(2).$implicit;
986
991
  i0.ɵɵadvance();
987
- i0.ɵɵtextInterpolate1(" ", col_r22.translatable ? i0.ɵɵpipeBind1(3, 4, i0.ɵɵpipeBind2(2, 1, rowData_r18, col_r22.field)) : i0.ɵɵpipeBind2(4, 6, rowData_r18, col_r22.field), " ");
992
+ i0.ɵɵtextInterpolate1(" ", col_r23.translatable ? i0.ɵɵpipeBind1(3, 4, i0.ɵɵpipeBind2(2, 1, rowData_r19, col_r23.field)) : i0.ɵɵpipeBind2(4, 6, rowData_r19, col_r23.field), " ");
988
993
  } }
989
994
  function TableComponent_7_ng_template_0_tr_1_td_2_ng_container_2_Template(rf, ctx) { if (rf & 1) {
990
995
  i0.ɵɵelementContainer(0);
991
996
  } }
992
997
  function TableComponent_7_ng_template_0_tr_1_td_2_Template(rf, ctx) { if (rf & 1) {
993
- const _r20 = i0.ɵɵgetCurrentView();
998
+ const _r21 = i0.ɵɵgetCurrentView();
994
999
  i0.ɵɵelementStart(0, "td", 42);
995
- i0.ɵɵlistener("click", function TableComponent_7_ng_template_0_tr_1_td_2_Template_td_click_0_listener() { i0.ɵɵrestoreView(_r20); const rowData_r18 = i0.ɵɵnextContext(2).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.activeChange.emit(rowData_r18)); });
1000
+ i0.ɵɵlistener("click", function TableComponent_7_ng_template_0_tr_1_td_2_Template_td_click_0_listener() { i0.ɵɵrestoreView(_r21); const rowData_r19 = i0.ɵɵnextContext(2).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.activeChange.emit(rowData_r19)); });
996
1001
  i0.ɵɵtemplate(1, TableComponent_7_ng_template_0_tr_1_td_2_div_1_Template, 5, 9, "div", 43)(2, TableComponent_7_ng_template_0_tr_1_td_2_ng_container_2_Template, 1, 0, "ng-container", 12);
997
1002
  i0.ɵɵelementEnd();
998
1003
  } if (rf & 2) {
999
- const col_r22 = ctx.$implicit;
1000
- const rowData_r18 = i0.ɵɵnextContext(2).$implicit;
1004
+ const col_r23 = ctx.$implicit;
1005
+ const rowData_r19 = i0.ɵɵnextContext(2).$implicit;
1001
1006
  const ctx_r1 = i0.ɵɵnextContext(2);
1002
1007
  i0.ɵɵadvance();
1003
1008
  i0.ɵɵproperty("ngIf", !ctx_r1.valueTemplate);
1004
1009
  i0.ɵɵadvance();
1005
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.valueTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(6, _c3$6, i0.ɵɵpureFunction2(3, _c8, rowData_r18, col_r22)));
1010
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.valueTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(6, _c3$6, i0.ɵɵpureFunction2(3, _c8, rowData_r19, col_r23)));
1006
1011
  } }
1007
1012
  function TableComponent_7_ng_template_0_tr_1_Template(rf, ctx) { if (rf & 1) {
1008
- i0.ɵɵelementStart(0, "tr", 37);
1009
- i0.ɵɵtemplate(1, TableComponent_7_ng_template_0_tr_1_td_1_Template, 2, 11, "td", 38)(2, TableComponent_7_ng_template_0_tr_1_td_2_Template, 3, 8, "td", 39);
1013
+ i0.ɵɵelementStart(0, "tr", 38);
1014
+ i0.ɵɵtemplate(1, TableComponent_7_ng_template_0_tr_1_td_1_Template, 2, 11, "td", 39)(2, TableComponent_7_ng_template_0_tr_1_td_2_Template, 3, 8, "td", 40);
1010
1015
  i0.ɵɵelementEnd();
1011
1016
  } if (rf & 2) {
1012
- const rowData_r18 = i0.ɵɵnextContext().$implicit;
1017
+ const rowData_r19 = i0.ɵɵnextContext().$implicit;
1013
1018
  const ctx_r1 = i0.ɵɵnextContext(2);
1014
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c6, ctx_r1.isRowActive(rowData_r18)))("pSelectableRow", rowData_r18);
1019
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c6, ctx_r1.isRowActive(rowData_r19)))("pSelectableRow", rowData_r19);
1015
1020
  i0.ɵɵadvance();
1016
1021
  i0.ɵɵproperty("ngIf", ctx_r1.checkboxSelection);
1017
1022
  i0.ɵɵadvance();
1018
1023
  i0.ɵɵproperty("ngForOf", ctx_r1.filteredColumns);
1019
1024
  } }
1020
1025
  function TableComponent_7_ng_template_0_Template(rf, ctx) { if (rf & 1) {
1021
- i0.ɵɵtemplate(0, TableComponent_7_ng_template_0_tr_0_Template, 7, 6, "tr", 32)(1, TableComponent_7_ng_template_0_tr_1_Template, 3, 6, "tr", 33);
1026
+ i0.ɵɵtemplate(0, TableComponent_7_ng_template_0_tr_0_Template, 7, 6, "tr", 33)(1, TableComponent_7_ng_template_0_tr_1_Template, 3, 6, "tr", 34);
1022
1027
  } if (rf & 2) {
1023
- const index_r17 = ctx.rowIndex;
1024
- const rowData_r18 = ctx.$implicit;
1028
+ const index_r18 = ctx.rowIndex;
1029
+ const rowData_r19 = ctx.$implicit;
1025
1030
  const ctx_r1 = i0.ɵɵnextContext(2);
1026
- i0.ɵɵproperty("ngIf", ctx_r1.isGrouped && ctx_r1.isShowGroup(rowData_r18.groupKey[ctx_r1.groupMode], index_r17));
1031
+ i0.ɵɵproperty("ngIf", ctx_r1.isGrouped && ctx_r1.isShowGroup(rowData_r19.groupKey[ctx_r1.groupMode], index_r18));
1027
1032
  i0.ɵɵadvance();
1028
- i0.ɵɵproperty("ngIf", !ctx_r1.isGrouped || ctx_r1.groupInfo[rowData_r18.groupKey[ctx_r1.groupMode]].isExpanded);
1033
+ i0.ɵɵproperty("ngIf", !ctx_r1.isGrouped || ctx_r1.groupInfo[rowData_r19.groupKey[ctx_r1.groupMode]].isExpanded);
1029
1034
  } }
1030
1035
  function TableComponent_7_Template(rf, ctx) { if (rf & 1) {
1031
- i0.ɵɵtemplate(0, TableComponent_7_ng_template_0_Template, 2, 2, "ng-template", 31);
1036
+ i0.ɵɵtemplate(0, TableComponent_7_ng_template_0_Template, 2, 2, "ng-template", 32);
1032
1037
  } }
1033
1038
  function TableComponent_8_ng_template_0_div_2_Template(rf, ctx) { if (rf & 1) {
1034
- const _r24 = i0.ɵɵgetCurrentView();
1039
+ const _r25 = i0.ɵɵgetCurrentView();
1035
1040
  i0.ɵɵelementStart(0, "div", 56)(1, "form", 6)(2, "div", 57)(3, "input", 58, 1);
1036
1041
  i0.ɵɵpipe(5, "translate");
1037
- i0.ɵɵlistener("input", function TableComponent_8_ng_template_0_div_2_Template_input_input_3_listener() { i0.ɵɵrestoreView(_r24); const ctx_r1 = i0.ɵɵnextContext(3); const dt_r7 = i0.ɵɵreference(2); return i0.ɵɵresetView(ctx_r1.localSearch(dt_r7, ctx_r1.searchText)); });
1038
- i0.ɵɵtwoWayListener("ngModelChange", function TableComponent_8_ng_template_0_div_2_Template_input_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r1.searchText, $event) || (ctx_r1.searchText = $event); return i0.ɵɵresetView($event); });
1042
+ i0.ɵɵlistener("input", function TableComponent_8_ng_template_0_div_2_Template_input_input_3_listener() { i0.ɵɵrestoreView(_r25); const ctx_r1 = i0.ɵɵnextContext(3); const dt_r8 = i0.ɵɵreference(2); return i0.ɵɵresetView(ctx_r1.localSearch(dt_r8, ctx_r1.searchText)); });
1043
+ i0.ɵɵtwoWayListener("ngModelChange", function TableComponent_8_ng_template_0_div_2_Template_input_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r25); const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r1.searchText, $event) || (ctx_r1.searchText = $event); return i0.ɵɵresetView($event); });
1039
1044
  i0.ɵɵelementEnd();
1040
1045
  i0.ɵɵelementStart(6, "button", 59);
1041
1046
  i0.ɵɵpipe(7, "translate");
1042
- i0.ɵɵlistener("click", function TableComponent_8_ng_template_0_div_2_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r24); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.clear()); });
1047
+ i0.ɵɵlistener("click", function TableComponent_8_ng_template_0_div_2_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r25); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.clear()); });
1043
1048
  i0.ɵɵelement(8, "i", 60);
1044
1049
  i0.ɵɵelementEnd()()()();
1045
1050
  } if (rf & 2) {
@@ -1052,9 +1057,9 @@ function TableComponent_8_ng_template_0_div_2_Template(rf, ctx) { if (rf & 1) {
1052
1057
  i0.ɵɵattribute("title", i0.ɵɵpipeBind1(7, 6, "Reset"));
1053
1058
  } }
1054
1059
  function TableComponent_8_ng_template_0_button_5_Template(rf, ctx) { if (rf & 1) {
1055
- const _r25 = i0.ɵɵgetCurrentView();
1060
+ const _r26 = i0.ɵɵgetCurrentView();
1056
1061
  i0.ɵɵelementStart(0, "button", 61);
1057
- i0.ɵɵlistener("click", function TableComponent_8_ng_template_0_button_5_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r25); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.onFilterToolbar($event)); });
1062
+ i0.ɵɵlistener("click", function TableComponent_8_ng_template_0_button_5_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r26); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.onFilterToolbar($event)); });
1058
1063
  i0.ɵɵelement(1, "i", 62);
1059
1064
  i0.ɵɵpipe(2, "translate");
1060
1065
  i0.ɵɵelementEnd();
@@ -1063,9 +1068,9 @@ function TableComponent_8_ng_template_0_button_5_Template(rf, ctx) { if (rf & 1)
1063
1068
  i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(2, 1, "Service filter"));
1064
1069
  } }
1065
1070
  function TableComponent_8_ng_template_0_button_6_Template(rf, ctx) { if (rf & 1) {
1066
- const _r26 = i0.ɵɵgetCurrentView();
1071
+ const _r27 = i0.ɵɵgetCurrentView();
1067
1072
  i0.ɵɵelementStart(0, "button", 63);
1068
- i0.ɵɵlistener("click", function TableComponent_8_ng_template_0_button_6_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r26); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.treeAction.emit($event)); });
1073
+ i0.ɵɵlistener("click", function TableComponent_8_ng_template_0_button_6_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r27); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.treeAction.emit($event)); });
1069
1074
  i0.ɵɵelement(1, "i", 64);
1070
1075
  i0.ɵɵpipe(2, "translate");
1071
1076
  i0.ɵɵelementEnd();
@@ -1076,9 +1081,9 @@ function TableComponent_8_ng_template_0_button_6_Template(rf, ctx) { if (rf & 1)
1076
1081
  i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(2, 2, "Filter by rubric"));
1077
1082
  } }
1078
1083
  function TableComponent_8_ng_template_0_button_7_Template(rf, ctx) { if (rf & 1) {
1079
- const _r27 = i0.ɵɵgetCurrentView();
1084
+ const _r28 = i0.ɵɵgetCurrentView();
1080
1085
  i0.ɵɵelementStart(0, "button", 63);
1081
- i0.ɵɵlistener("click", function TableComponent_8_ng_template_0_button_7_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r27); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.addAction.emit($event)); });
1086
+ i0.ɵɵlistener("click", function TableComponent_8_ng_template_0_button_7_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r28); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.addAction.emit($event)); });
1082
1087
  i0.ɵɵelement(1, "i", 65);
1083
1088
  i0.ɵɵpipe(2, "translate");
1084
1089
  i0.ɵɵelementEnd();
@@ -1089,9 +1094,9 @@ function TableComponent_8_ng_template_0_button_7_Template(rf, ctx) { if (rf & 1)
1089
1094
  i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(2, 2, "Add"));
1090
1095
  } }
1091
1096
  function TableComponent_8_ng_template_0_button_8_Template(rf, ctx) { if (rf & 1) {
1092
- const _r28 = i0.ɵɵgetCurrentView();
1097
+ const _r29 = i0.ɵɵgetCurrentView();
1093
1098
  i0.ɵɵelementStart(0, "button", 63);
1094
- i0.ɵɵlistener("click", function TableComponent_8_ng_template_0_button_8_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r28); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.linkAction.emit($event)); });
1099
+ i0.ɵɵlistener("click", function TableComponent_8_ng_template_0_button_8_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r29); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.linkAction.emit($event)); });
1095
1100
  i0.ɵɵelement(1, "i", 66);
1096
1101
  i0.ɵɵpipe(2, "translate");
1097
1102
  i0.ɵɵelementEnd();
@@ -1102,9 +1107,9 @@ function TableComponent_8_ng_template_0_button_8_Template(rf, ctx) { if (rf & 1)
1102
1107
  i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(2, 2, "Link"));
1103
1108
  } }
1104
1109
  function TableComponent_8_ng_template_0_button_9_Template(rf, ctx) { if (rf & 1) {
1105
- const _r29 = i0.ɵɵgetCurrentView();
1110
+ const _r30 = i0.ɵɵgetCurrentView();
1106
1111
  i0.ɵɵelementStart(0, "button", 63);
1107
- i0.ɵɵlistener("click", function TableComponent_8_ng_template_0_button_9_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r29); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.csvAction.emit($event)); });
1112
+ i0.ɵɵlistener("click", function TableComponent_8_ng_template_0_button_9_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r30); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.csvAction.emit($event)); });
1108
1113
  i0.ɵɵelement(1, "i", 67);
1109
1114
  i0.ɵɵpipe(2, "translate");
1110
1115
  i0.ɵɵelementEnd();
@@ -1115,10 +1120,10 @@ function TableComponent_8_ng_template_0_button_9_Template(rf, ctx) { if (rf & 1)
1115
1120
  i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(2, 2, "LOGS.SAVE_TO_CSV"));
1116
1121
  } }
1117
1122
  function TableComponent_8_ng_template_0_button_10_Template(rf, ctx) { if (rf & 1) {
1118
- const _r30 = i0.ɵɵgetCurrentView();
1123
+ const _r31 = i0.ɵɵgetCurrentView();
1119
1124
  i0.ɵɵelementStart(0, "button", 68);
1120
1125
  i0.ɵɵpipe(1, "translate");
1121
- i0.ɵɵlistener("click", function TableComponent_8_ng_template_0_button_10_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r30); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.saveAction.emit($event)); });
1126
+ i0.ɵɵlistener("click", function TableComponent_8_ng_template_0_button_10_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r31); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.saveAction.emit($event)); });
1122
1127
  i0.ɵɵtext(2);
1123
1128
  i0.ɵɵpipe(3, "translate");
1124
1129
  i0.ɵɵelementEnd();
@@ -1130,9 +1135,9 @@ function TableComponent_8_ng_template_0_button_10_Template(rf, ctx) { if (rf & 1
1130
1135
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 5, "Save"), " ");
1131
1136
  } }
1132
1137
  function TableComponent_8_ng_template_0_button_11_Template(rf, ctx) { if (rf & 1) {
1133
- const _r31 = i0.ɵɵgetCurrentView();
1138
+ const _r32 = i0.ɵɵgetCurrentView();
1134
1139
  i0.ɵɵelementStart(0, "button", 63);
1135
- i0.ɵɵlistener("click", function TableComponent_8_ng_template_0_button_11_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r31); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.groupEditAction.emit($event)); });
1140
+ i0.ɵɵlistener("click", function TableComponent_8_ng_template_0_button_11_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r32); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.groupEditAction.emit($event)); });
1136
1141
  i0.ɵɵelement(1, "i", 69);
1137
1142
  i0.ɵɵpipe(2, "translate");
1138
1143
  i0.ɵɵelementEnd();
@@ -1143,9 +1148,9 @@ function TableComponent_8_ng_template_0_button_11_Template(rf, ctx) { if (rf & 1
1143
1148
  i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(2, 2, "groupEdit"));
1144
1149
  } }
1145
1150
  function TableComponent_8_ng_template_0_button_13_Template(rf, ctx) { if (rf & 1) {
1146
- const _r32 = i0.ɵɵgetCurrentView();
1151
+ const _r33 = i0.ɵɵgetCurrentView();
1147
1152
  i0.ɵɵelementStart(0, "button", 63);
1148
- i0.ɵɵlistener("click", function TableComponent_8_ng_template_0_button_13_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r32); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.paramsEditAction.emit($event)); });
1153
+ i0.ɵɵlistener("click", function TableComponent_8_ng_template_0_button_13_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r33); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.paramsEditAction.emit($event)); });
1149
1154
  i0.ɵɵelement(1, "i", 69);
1150
1155
  i0.ɵɵpipe(2, "translate");
1151
1156
  i0.ɵɵelementEnd();
@@ -1156,9 +1161,9 @@ function TableComponent_8_ng_template_0_button_13_Template(rf, ctx) { if (rf & 1
1156
1161
  i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(2, 2, "paramsEdit"));
1157
1162
  } }
1158
1163
  function TableComponent_8_ng_template_0_button_14_Template(rf, ctx) { if (rf & 1) {
1159
- const _r33 = i0.ɵɵgetCurrentView();
1164
+ const _r34 = i0.ɵɵgetCurrentView();
1160
1165
  i0.ɵɵelementStart(0, "button", 63);
1161
- i0.ɵɵlistener("click", function TableComponent_8_ng_template_0_button_14_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r33); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.removeAction.emit($event)); });
1166
+ i0.ɵɵlistener("click", function TableComponent_8_ng_template_0_button_14_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r34); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.removeAction.emit($event)); });
1162
1167
  i0.ɵɵelement(1, "i", 70);
1163
1168
  i0.ɵɵpipe(2, "translate");
1164
1169
  i0.ɵɵelementEnd();
@@ -1169,9 +1174,9 @@ function TableComponent_8_ng_template_0_button_14_Template(rf, ctx) { if (rf & 1
1169
1174
  i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(2, 2, "Delete"));
1170
1175
  } }
1171
1176
  function TableComponent_8_ng_template_0_button_15_Template(rf, ctx) { if (rf & 1) {
1172
- const _r34 = i0.ɵɵgetCurrentView();
1177
+ const _r35 = i0.ɵɵgetCurrentView();
1173
1178
  i0.ɵɵelementStart(0, "button", 63);
1174
- i0.ɵɵlistener("click", function TableComponent_8_ng_template_0_button_15_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r34); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.unlinkAction.emit($event)); });
1179
+ i0.ɵɵlistener("click", function TableComponent_8_ng_template_0_button_15_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r35); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.unlinkAction.emit($event)); });
1175
1180
  i0.ɵɵelement(1, "i", 71);
1176
1181
  i0.ɵɵpipe(2, "translate");
1177
1182
  i0.ɵɵelementEnd();
@@ -1182,10 +1187,10 @@ function TableComponent_8_ng_template_0_button_15_Template(rf, ctx) { if (rf & 1
1182
1187
  i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(2, 2, "Detach tag from selected items"));
1183
1188
  } }
1184
1189
  function TableComponent_8_ng_template_0_button_16_Template(rf, ctx) { if (rf & 1) {
1185
- const _r35 = i0.ɵɵgetCurrentView();
1190
+ const _r36 = i0.ɵɵgetCurrentView();
1186
1191
  i0.ɵɵelementStart(0, "button", 72);
1187
1192
  i0.ɵɵpipe(1, "translate");
1188
- i0.ɵɵlistener("click", function TableComponent_8_ng_template_0_button_16_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r35); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.toggleNodes(true)); });
1193
+ i0.ɵɵlistener("click", function TableComponent_8_ng_template_0_button_16_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r36); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.toggleNodes(true)); });
1189
1194
  i0.ɵɵnamespaceSVG();
1190
1195
  i0.ɵɵelementStart(2, "svg", 73);
1191
1196
  i0.ɵɵelement(3, "path", 74);
@@ -1194,10 +1199,10 @@ function TableComponent_8_ng_template_0_button_16_Template(rf, ctx) { if (rf & 1
1194
1199
  i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(1, 1, "Expand all"));
1195
1200
  } }
1196
1201
  function TableComponent_8_ng_template_0_button_17_Template(rf, ctx) { if (rf & 1) {
1197
- const _r36 = i0.ɵɵgetCurrentView();
1202
+ const _r37 = i0.ɵɵgetCurrentView();
1198
1203
  i0.ɵɵelementStart(0, "button", 72);
1199
1204
  i0.ɵɵpipe(1, "translate");
1200
- i0.ɵɵlistener("click", function TableComponent_8_ng_template_0_button_17_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r36); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.toggleNodes(false)); });
1205
+ i0.ɵɵlistener("click", function TableComponent_8_ng_template_0_button_17_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r37); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.toggleNodes(false)); });
1201
1206
  i0.ɵɵnamespaceSVG();
1202
1207
  i0.ɵɵelementStart(2, "svg", 73);
1203
1208
  i0.ɵɵelement(3, "path", 75);
@@ -1206,17 +1211,17 @@ function TableComponent_8_ng_template_0_button_17_Template(rf, ctx) { if (rf & 1
1206
1211
  i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(1, 1, "Collapse all"));
1207
1212
  } }
1208
1213
  function TableComponent_8_ng_template_0_div_18_li_6_Template(rf, ctx) { if (rf & 1) {
1209
- const _r37 = i0.ɵɵgetCurrentView();
1214
+ const _r38 = i0.ɵɵgetCurrentView();
1210
1215
  i0.ɵɵelementStart(0, "li", 82)(1, "a", 83);
1211
- i0.ɵɵlistener("click", function TableComponent_8_ng_template_0_div_18_li_6_Template_a_click_1_listener() { const item_r38 = i0.ɵɵrestoreView(_r37).$implicit; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.toggleMode(item_r38.value)); });
1216
+ i0.ɵɵlistener("click", function TableComponent_8_ng_template_0_div_18_li_6_Template_a_click_1_listener() { const item_r39 = i0.ɵɵrestoreView(_r38).$implicit; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.toggleMode(item_r39.value)); });
1212
1217
  i0.ɵɵtext(2);
1213
1218
  i0.ɵɵelementEnd()();
1214
1219
  } if (rf & 2) {
1215
- const item_r38 = ctx.$implicit;
1220
+ const item_r39 = ctx.$implicit;
1216
1221
  const ctx_r1 = i0.ɵɵnextContext(4);
1217
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c10, item_r38.value === ctx_r1.groupMode));
1222
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c10, item_r39.value === ctx_r1.groupMode));
1218
1223
  i0.ɵɵadvance(2);
1219
- i0.ɵɵtextInterpolate1(" ", item_r38.label, " ");
1224
+ i0.ɵɵtextInterpolate1(" ", item_r39.label, " ");
1220
1225
  } }
1221
1226
  function TableComponent_8_ng_template_0_div_18_Template(rf, ctx) { if (rf & 1) {
1222
1227
  i0.ɵɵelementStart(0, "div", 76)(1, "button", 77);
@@ -1234,11 +1239,11 @@ function TableComponent_8_ng_template_0_div_18_Template(rf, ctx) { if (rf & 1) {
1234
1239
  i0.ɵɵproperty("ngForOf", ctx_r1.toolbar.groupSort.label);
1235
1240
  } }
1236
1241
  function TableComponent_8_ng_template_0_Template(rf, ctx) { if (rf & 1) {
1237
- const _r23 = i0.ɵɵgetCurrentView();
1242
+ const _r24 = i0.ɵɵgetCurrentView();
1238
1243
  i0.ɵɵelementStart(0, "div", 46)(1, "div", 47);
1239
1244
  i0.ɵɵtemplate(2, TableComponent_8_ng_template_0_div_2_Template, 9, 9, "div", 48);
1240
1245
  i0.ɵɵelementStart(3, "div", 49)(4, "in-table-columns-multiselect", 50);
1241
- i0.ɵɵlistener("columnsChange", function TableComponent_8_ng_template_0_Template_in_table_columns_multiselect_columnsChange_4_listener($event) { i0.ɵɵrestoreView(_r23); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.columnsChange($event)); });
1246
+ i0.ɵɵlistener("columnsChange", function TableComponent_8_ng_template_0_Template_in_table_columns_multiselect_columnsChange_4_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.columnsChange($event)); });
1242
1247
  i0.ɵɵelementEnd()();
1243
1248
  i0.ɵɵtemplate(5, TableComponent_8_ng_template_0_button_5_Template, 3, 3, "button", 51)(6, TableComponent_8_ng_template_0_button_6_Template, 3, 4, "button", 52)(7, TableComponent_8_ng_template_0_button_7_Template, 3, 4, "button", 52)(8, TableComponent_8_ng_template_0_button_8_Template, 3, 4, "button", 52)(9, TableComponent_8_ng_template_0_button_9_Template, 3, 4, "button", 52)(10, TableComponent_8_ng_template_0_button_10_Template, 4, 7, "button", 53)(11, TableComponent_8_ng_template_0_button_11_Template, 3, 4, "button", 52);
1244
1249
  i0.ɵɵprojection(12);
@@ -1332,11 +1337,49 @@ class TableComponent {
1332
1337
  }
1333
1338
  }
1334
1339
  }
1340
+ ngAfterContentInit() {
1341
+ this.templates.forEach((item) => {
1342
+ switch (item.getType()) {
1343
+ case 'value':
1344
+ this.valueTemplate = item.template;
1345
+ break;
1346
+ case 'header':
1347
+ this.headerTemplate = item.template;
1348
+ break;
1349
+ case 'body':
1350
+ this.bodyTemplate = item.template;
1351
+ break;
1352
+ // добавьте другие типы по необходимости
1353
+ }
1354
+ });
1355
+ }
1335
1356
  /** O(1) check used in template instead of dt.isSelected() */
1336
1357
  _isRowSelected(row) {
1337
1358
  const key = this.dataKey || 'id';
1338
1359
  return this._selectionSet.has(row?.[key] ?? row);
1339
1360
  }
1361
+ /** O(1) check — avoids p-tableHeaderCheckbox.updateCheckedState() O(N) iteration */
1362
+ _isAllSelected() {
1363
+ if (!this.values || this.values.length === 0) {
1364
+ return false;
1365
+ }
1366
+ return this._selectionSet.size >= this.values.length;
1367
+ }
1368
+ /** Select/deselect all rows directly via values array — bypasses dt.processedData
1369
+ * (O(N log N) sort) used by p-tableHeaderCheckbox.toggleRowsWithCheckbox(). */
1370
+ _onHeaderCheckboxChange(event) {
1371
+ const checked = event.target.checked;
1372
+ const key = this.dataKey || 'id';
1373
+ if (checked) {
1374
+ this._selectionSet = new Set((this.values || []).map(row => row?.[key] ?? row));
1375
+ this._selection = [...(this.values || [])];
1376
+ }
1377
+ else {
1378
+ this._selectionSet = new Set();
1379
+ this._selection = [];
1380
+ }
1381
+ this.selectionValue = this._selection;
1382
+ }
1340
1383
  /** Called when native checkbox changes */
1341
1384
  _onCheckboxChange(event, row) {
1342
1385
  const checked = event.target.checked;
@@ -1594,7 +1637,7 @@ class TableComponent {
1594
1637
  } if (rf & 2) {
1595
1638
  let _t;
1596
1639
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.dt = _t.first);
1597
- } }, inputs: { columns: "columns", values: "values", scrollHeight: "scrollHeight", scrollable: "scrollable", selectionMode: "selectionMode", label: "label", error: "error", class: "class", required: "required", style: "style", toolbar: "toolbar", checkboxSelection: "checkboxSelection", active: "active", sortField: "sortField", isAscending: "isAscending", dataKey: "dataKey", stateKey: "stateKey", isGrouped: "isGrouped", customSort: "customSort", isGroupedExpanded: "isGroupedExpanded", showHeader: "showHeader", isMobileView: "isMobileView", resizableColumns: "resizableColumns", isTextSearch: "isTextSearch", isSortIcon: "isSortIcon", columnResizeMode: "columnResizeMode", selection: "selection" }, outputs: { activeChange: "activeChange", selectionChange: "selectionChange", addAction: "addAction", treeAction: "treeAction", csvAction: "csvAction", saveAction: "saveAction", removeAction: "removeAction", unlinkAction: "unlinkAction", linkAction: "linkAction", groupEditAction: "groupEditAction", paramsEditAction: "paramsEditAction", sortFunction: "sortFunction", filterFunction: "filterFunction" }, standalone: false, features: [i0.ɵɵProvidersFeature([TableService])], ngContentSelectors: _c1$b, decls: 9, vars: 25, consts: [["dt", ""], ["searchTextInput", ""], ["class", "c-label", 4, "ngIf"], [3, "onFilter", "onSort", "onStateRestore", "onStateSave", "sortFunction", "selectionChange", "selection", "columns", "customSort", "dataKey", "globalFilterFields", "resizableColumns", "scrollHeight", "scrollable", "selectionMode", "sortField", "sortOrder", "stateKey", "stateStorage", "value", "columnResizeMode"], [4, "ngIf"], ["pTemplate", "header"], [1, "c-label"], ["class", "c-label__req", 4, "ngIf"], ["class", "c-label__sub_is-error", 4, "ngIf"], [1, "c-label__req"], [1, "c-label__sub_is-error"], ["pTemplate", "colgroup"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["style", "width: 44px;", 4, "ngIf"], [4, "ngFor", "ngForOf"], [2, "width", "44px"], ["class", "u-position-relative u-text_center", "pResizableColumn", "", "style", "width: 44px;", 4, "ngIf"], ["class", "u-position-relative", "pResizableColumn", "", 3, "pSortableColumn", 4, "ngFor", "ngForOf"], ["pResizableColumn", "", 1, "u-position-relative", "u-text_center", 2, "width", "44px"], ["pResizableColumn", "", 1, "u-position-relative", 3, "pSortableColumn"], [1, "p-table-thead-title", 3, "title"], ["class", "u-position-absolute u-position-absolute-right c-sorticon", "style", "display: flex; width: 18px; top: 0; height: 100%;", 3, "field", 4, "ngIf"], [1, "u-position-absolute", "u-position-absolute-right", "c-sorticon", 2, "display", "flex", "width", "18px", "top", "0", "height", "100%", 3, "field"], [3, "ngSwitch", 4, "ngFor", "ngForOf"], [3, "ngSwitch"], ["autofocus", "", "class", "c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched", "pInputText", "", "type", "text", 3, "input", 4, "ngSwitchCase"], ["appendTo", "body", 3, "options", "style", "onChange", 4, "ngSwitchCase"], ["appendTo", "body", 3, "options", "style", "defaultLabel", "onChange", 4, "ngSwitchCase"], ["autofocus", "", "pInputText", "", "type", "text", 1, "c-input", "c-input_small", "ng-pristine", "ng-valid", "ng-scope", "ng-empty", "ng-touched", 3, "input"], ["appendTo", "body", 3, "onChange", "options"], ["appendTo", "body", 3, "onChange", "options", "defaultLabel"], ["pTemplate", "body"], ["class", "row_hover_highlight", 3, "click", 4, "ngIf"], ["class", "row", 3, "ngClass", "pSelectableRow", 4, "ngIf"], [1, "row_hover_highlight", 3, "click"], [3, "colSpan"], [3, "ngClass"], [1, "row", 3, "ngClass", "pSelectableRow"], ["class", "u-text_center", "style", "width: 44px", 3, "ngClass", 4, "ngIf"], ["class", "u-overflow-visible", 3, "click", 4, "ngFor", "ngForOf"], [1, "u-text_center", 2, "width", "44px", 3, "ngClass"], ["type", "checkbox", 1, "in-table-checkbox", 3, "change", "click", "checked"], [1, "u-overflow-visible", 3, "click"], ["class", "p-table-tbody-content", "title", "", 3, "mouseover", 4, "ngIf"], ["title", "", 1, "p-table-tbody-content", 3, "mouseover"], ["pTemplate", "caption"], [1, "o-grid", "o-grid_no-gutter"], [1, "c-tree-table__toolbar-content", "u-display-inline-flex"], ["class", "c-form c-form_inline u-display-inline-block", 4, "ngIf"], [1, "c-btn", "c-btn_border-free", "c-btn_small"], [3, "columnsChange", "columns", "disableActiveCheckboxes"], ["class", "c-btn c-btn_border-free c-btn_small", 3, "click", 4, "ngIf"], ["class", "c-btn c-btn_border-free c-btn_small", 3, "disabled", "click", 4, "ngIf"], ["class", "c-btn c-btn_primary c-btn_small", 3, "disabled", "title", "click", 4, "ngIf"], ["class", "c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free", 3, "title", "click", 4, "ngIf"], ["class", "c-btn-group", "container", "body", "ngbDropdown", "", 4, "ngIf"], [1, "c-form", "c-form_inline", "u-display-inline-block"], [1, "input-wrapper", "u-margin-right-tiny"], ["autofocus", "", "pInputText", "", "required", "", "tabindex", "1", "type", "search", 1, "search-box", "c-input", "c-input_small", "ng-pristine", "ng-valid", "ng-scope", "ng-empty", "ng-touched", 2, "padding-right", "28px", 3, "input", "ngModelChange", "ngModel", "ngModelOptions", "placeholder"], ["type", "reset", 1, "button-reset", 3, "click"], [1, "in", "in-close"], [1, "c-btn", "c-btn_border-free", "c-btn_small", 3, "click"], [1, "in", "in-filter", 3, "title"], [1, "c-btn", "c-btn_border-free", "c-btn_small", 3, "click", "disabled"], [1, "in", "in-list", 3, "title"], [1, "in", "in-plus", 3, "title"], [1, "in", "in-link", 3, "title"], [1, "in", "in-file-excel-outline", 3, "title"], [1, "c-btn", "c-btn_primary", "c-btn_small", 3, "click", "disabled", "title"], [1, "in", "in-pencil", 3, "title"], [1, "in", "in-trash", 3, "title"], [1, "in", "in-link-off", 3, "title"], [1, "c-btn", "c-btn_small", "c-btn_svg-24", "c-icon", "c-icon_svg", "c-icon_svg-24", "c-btn_border-free", 3, "click", "title"], ["fill", "currentColor", "height", "24", "viewBox", "0 0 24 24", "width", "24", "xmlns", "http://www.w3.org/2000/svg"], ["d", "M20 2H4v2h16V2zM4 20v2h16v-2H4zM12 5l5 6H7l5-6zM17 13l-5 6-5-6h10z"], ["clip-rule", "evenodd", "d", "M17 3l-5 6-5-6h10zM4 13v-2h16v2H4zm8 2l5 6H7l5-6z", "fill-rule", "evenodd"], ["container", "body", "ngbDropdown", "", 1, "c-btn-group"], ["id", "dropdownGroupType", "ngbDropdownToggle", "", 1, "c-btn", "c-btn_border-free", "c-btn_small", 3, "title"], ["aria-hidden", "true", 1, "in", "in-object-group"], ["aria-hidden", "true", 1, "c-caret"], ["aria-labelledby", "dropdownGroupType", "ngbDropdownMenu", "", "role", "menu", 1, "c-dropdown-menu", "c-dropdown-menu_right", "ng-star-inserted"], ["class", "c-dropdown-menu__listitem is-dropdown-menu__listitem_active", "ngbDropdownItem", "", "role", "menuitem", 3, "ngClass", 4, "ngFor", "ngForOf"], ["ngbDropdownItem", "", "role", "menuitem", 1, "c-dropdown-menu__listitem", "is-dropdown-menu__listitem_active", 3, "ngClass"], [1, "c-dropdown-menu__content", 3, "click"]], template: function TableComponent_Template(rf, ctx) { if (rf & 1) {
1640
+ } }, inputs: { columns: "columns", values: "values", scrollHeight: "scrollHeight", scrollable: "scrollable", selectionMode: "selectionMode", label: "label", error: "error", class: "class", required: "required", style: "style", toolbar: "toolbar", checkboxSelection: "checkboxSelection", active: "active", sortField: "sortField", isAscending: "isAscending", dataKey: "dataKey", stateKey: "stateKey", isGrouped: "isGrouped", customSort: "customSort", isGroupedExpanded: "isGroupedExpanded", showHeader: "showHeader", isMobileView: "isMobileView", resizableColumns: "resizableColumns", isTextSearch: "isTextSearch", isSortIcon: "isSortIcon", columnResizeMode: "columnResizeMode", selection: "selection" }, outputs: { activeChange: "activeChange", selectionChange: "selectionChange", addAction: "addAction", treeAction: "treeAction", csvAction: "csvAction", saveAction: "saveAction", removeAction: "removeAction", unlinkAction: "unlinkAction", linkAction: "linkAction", groupEditAction: "groupEditAction", paramsEditAction: "paramsEditAction", sortFunction: "sortFunction", filterFunction: "filterFunction" }, standalone: false, features: [i0.ɵɵProvidersFeature([TableService])], ngContentSelectors: _c1$b, decls: 9, vars: 25, consts: [["dt", ""], ["searchTextInput", ""], ["class", "c-label", 4, "ngIf"], [3, "onFilter", "onSort", "onStateRestore", "onStateSave", "sortFunction", "selectionChange", "selection", "columns", "customSort", "dataKey", "globalFilterFields", "resizableColumns", "scrollHeight", "scrollable", "selectionMode", "sortField", "sortOrder", "stateKey", "stateStorage", "value", "columnResizeMode"], [4, "ngIf"], ["pTemplate", "header"], [1, "c-label"], ["class", "c-label__req", 4, "ngIf"], ["class", "c-label__sub_is-error", 4, "ngIf"], [1, "c-label__req"], [1, "c-label__sub_is-error"], ["pTemplate", "colgroup"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["style", "width: 44px;", 4, "ngIf"], [4, "ngFor", "ngForOf"], [2, "width", "44px"], ["class", "u-position-relative u-text_center", "pResizableColumn", "", "style", "width: 44px;", 4, "ngIf"], ["class", "u-position-relative", "pResizableColumn", "", 3, "pSortableColumn", 4, "ngFor", "ngForOf"], ["pResizableColumn", "", 1, "u-position-relative", "u-text_center", 2, "width", "44px"], ["type", "checkbox", 1, "in-table-checkbox", 3, "change", "click", "checked"], ["pResizableColumn", "", 1, "u-position-relative", 3, "pSortableColumn"], [1, "p-table-thead-title", 3, "title"], ["class", "u-position-absolute u-position-absolute-right c-sorticon", "style", "display: flex; width: 18px; top: 0; height: 100%;", 3, "field", 4, "ngIf"], [1, "u-position-absolute", "u-position-absolute-right", "c-sorticon", 2, "display", "flex", "width", "18px", "top", "0", "height", "100%", 3, "field"], [3, "ngSwitch", 4, "ngFor", "ngForOf"], [3, "ngSwitch"], ["autofocus", "", "class", "c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched", "pInputText", "", "type", "text", 3, "input", 4, "ngSwitchCase"], ["appendTo", "body", 3, "options", "style", "onChange", 4, "ngSwitchCase"], ["appendTo", "body", 3, "options", "style", "defaultLabel", "onChange", 4, "ngSwitchCase"], ["autofocus", "", "pInputText", "", "type", "text", 1, "c-input", "c-input_small", "ng-pristine", "ng-valid", "ng-scope", "ng-empty", "ng-touched", 3, "input"], ["appendTo", "body", 3, "onChange", "options"], ["appendTo", "body", 3, "onChange", "options", "defaultLabel"], ["pTemplate", "body"], ["class", "row_hover_highlight", 3, "click", 4, "ngIf"], ["class", "row", 3, "ngClass", "pSelectableRow", 4, "ngIf"], [1, "row_hover_highlight", 3, "click"], [3, "colSpan"], [3, "ngClass"], [1, "row", 3, "ngClass", "pSelectableRow"], ["class", "u-text_center", "style", "width: 44px", 3, "ngClass", 4, "ngIf"], ["class", "u-overflow-visible", 3, "click", 4, "ngFor", "ngForOf"], [1, "u-text_center", 2, "width", "44px", 3, "ngClass"], [1, "u-overflow-visible", 3, "click"], ["class", "p-table-tbody-content", "title", "", 3, "mouseover", 4, "ngIf"], ["title", "", 1, "p-table-tbody-content", 3, "mouseover"], ["pTemplate", "caption"], [1, "o-grid", "o-grid_no-gutter"], [1, "c-tree-table__toolbar-content", "u-display-inline-flex"], ["class", "c-form c-form_inline u-display-inline-block", 4, "ngIf"], [1, "c-btn", "c-btn_border-free", "c-btn_small"], [3, "columnsChange", "columns", "disableActiveCheckboxes"], ["class", "c-btn c-btn_border-free c-btn_small", 3, "click", 4, "ngIf"], ["class", "c-btn c-btn_border-free c-btn_small", 3, "disabled", "click", 4, "ngIf"], ["class", "c-btn c-btn_primary c-btn_small", 3, "disabled", "title", "click", 4, "ngIf"], ["class", "c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free", 3, "title", "click", 4, "ngIf"], ["class", "c-btn-group", "container", "body", "ngbDropdown", "", 4, "ngIf"], [1, "c-form", "c-form_inline", "u-display-inline-block"], [1, "input-wrapper", "u-margin-right-tiny"], ["autofocus", "", "pInputText", "", "required", "", "tabindex", "1", "type", "search", 1, "search-box", "c-input", "c-input_small", "ng-pristine", "ng-valid", "ng-scope", "ng-empty", "ng-touched", 2, "padding-right", "28px", 3, "input", "ngModelChange", "ngModel", "ngModelOptions", "placeholder"], ["type", "reset", 1, "button-reset", 3, "click"], [1, "in", "in-close"], [1, "c-btn", "c-btn_border-free", "c-btn_small", 3, "click"], [1, "in", "in-filter", 3, "title"], [1, "c-btn", "c-btn_border-free", "c-btn_small", 3, "click", "disabled"], [1, "in", "in-list", 3, "title"], [1, "in", "in-plus", 3, "title"], [1, "in", "in-link", 3, "title"], [1, "in", "in-file-excel-outline", 3, "title"], [1, "c-btn", "c-btn_primary", "c-btn_small", 3, "click", "disabled", "title"], [1, "in", "in-pencil", 3, "title"], [1, "in", "in-trash", 3, "title"], [1, "in", "in-link-off", 3, "title"], [1, "c-btn", "c-btn_small", "c-btn_svg-24", "c-icon", "c-icon_svg", "c-icon_svg-24", "c-btn_border-free", 3, "click", "title"], ["fill", "currentColor", "height", "24", "viewBox", "0 0 24 24", "width", "24", "xmlns", "http://www.w3.org/2000/svg"], ["d", "M20 2H4v2h16V2zM4 20v2h16v-2H4zM12 5l5 6H7l5-6zM17 13l-5 6-5-6h10z"], ["clip-rule", "evenodd", "d", "M17 3l-5 6-5-6h10zM4 13v-2h16v2H4zm8 2l5 6H7l5-6z", "fill-rule", "evenodd"], ["container", "body", "ngbDropdown", "", 1, "c-btn-group"], ["id", "dropdownGroupType", "ngbDropdownToggle", "", 1, "c-btn", "c-btn_border-free", "c-btn_small", 3, "title"], ["aria-hidden", "true", 1, "in", "in-object-group"], ["aria-hidden", "true", 1, "c-caret"], ["aria-labelledby", "dropdownGroupType", "ngbDropdownMenu", "", "role", "menu", 1, "c-dropdown-menu", "c-dropdown-menu_right", "ng-star-inserted"], ["class", "c-dropdown-menu__listitem is-dropdown-menu__listitem_active", "ngbDropdownItem", "", "role", "menuitem", 3, "ngClass", 4, "ngFor", "ngForOf"], ["ngbDropdownItem", "", "role", "menuitem", 1, "c-dropdown-menu__listitem", "is-dropdown-menu__listitem_active", 3, "ngClass"], [1, "c-dropdown-menu__content", 3, "click"]], template: function TableComponent_Template(rf, ctx) { if (rf & 1) {
1598
1641
  const _r1 = i0.ɵɵgetCurrentView();
1599
1642
  i0.ɵɵprojectionDef(_c0$l);
1600
1643
  i0.ɵɵtemplate(0, TableComponent_span_0_Template, 4, 3, "span", 2);
@@ -1620,11 +1663,11 @@ class TableComponent {
1620
1663
  i0.ɵɵproperty("ngIf", !ctx.bodyTemplate);
1621
1664
  i0.ɵɵadvance();
1622
1665
  i0.ɵɵproperty("ngIf", ctx.toolbar);
1623
- } }, dependencies: () => [i1$2.NgClass, i1$2.NgForOf, i1$2.NgIf, i1$2.NgTemplateOutlet, i1$2.NgSwitch, i1$2.NgSwitchCase, i2$2.Table, i2.PrimeTemplate, i2$2.SortableColumn, i2$2.SelectableRow, i2$2.ResizableColumn, i2$2.SortIcon, i2$2.TableHeaderCheckbox, i2$1.ɵNgNoValidate, i2$1.DefaultValueAccessor, i2$1.NgControlStatus, i2$1.NgControlStatusGroup, i2$1.RequiredValidator, i2$1.NgModel, i2$1.NgForm, i5.Dropdown, i6.MultiSelect, i7.NgbDropdown, i7.NgbDropdownToggle, i7.NgbDropdownMenu, i7.NgbDropdownItem, TableColumnsMultiselectComponent, PropertyValuePipe, i1.TranslatePipe], styles: ["@charset \"UTF-8\";.u-overflow-visible[_ngcontent-%COMP%]{overflow:visible!important}.row_status_success[_ngcontent-%COMP%]{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-success, #31AC51)}.row_status_error[_ngcontent-%COMP%]{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-error, #F95C5D)}.row_status_warning[_ngcontent-%COMP%]{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-warning, #EE9946)}.row_status_critical[_ngcontent-%COMP%]{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-critical, #F95C5D)}.row_status_falsevalue[_ngcontent-%COMP%]{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-falsevalue, #85B3CB)}.row_status_disabled[_ngcontent-%COMP%]{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-disabled)}.row_status_none[_ngcontent-%COMP%]{padding-left:9px!important;border-left:4px solid transparent}.row_status_pending[_ngcontent-%COMP%]{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-pending, #1f85ff)}.button-reset[_ngcontent-%COMP%]{display:flex;align-items:center;position:absolute;right:6px;top:5px;padding:6px;font-size:15px;border:none;outline:0;cursor:pointer;color:var(--colorTextMuted);background-color:transparent}.button-reset[_ngcontent-%COMP%]:hover{color:var(--ids-theme-btn-default-color, #FFFFFF)}.input-wrapper[_ngcontent-%COMP%]{position:relative;display:flex;align-items:baseline}.c-input[_ngcontent-%COMP%]:not(:valid) ~ .button-reset[_ngcontent-%COMP%]{display:none}.in-table-checkbox[_ngcontent-%COMP%]{appearance:none;-webkit-appearance:none;width:var(--p-checkbox-width, 20px);height:var(--p-checkbox-height, 20px);border:1px solid var(--p-checkbox-border-color, #B3B3B3);border-radius:var(--p-checkbox-border-radius, 2px);background:var(--p-checkbox-background, transparent);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;flex-shrink:0;transition:border-color var(--p-checkbox-transition-duration, .15s),background var(--p-checkbox-transition-duration, .15s)}.in-table-checkbox[_ngcontent-%COMP%]:checked{background:var(--p-checkbox-checked-background, #387382);border-color:var(--p-checkbox-checked-border-color, #387382)}.in-table-checkbox[_ngcontent-%COMP%]:checked:after{content:\"\";display:block;width:var(--p-checkbox-icon-size, 14px);height:var(--p-checkbox-icon-size, 14px);background-color:var(--p-checkbox-icon-checked-color, #ffffff);mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='currentColor' d='M5.25 10.15l-2.8-2.8-.7.7 3.5 3.5 7.5-7.5-.7-.7z'/%3E%3C/svg%3E\");-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='currentColor' d='M5.25 10.15l-2.8-2.8-.7.7 3.5 3.5 7.5-7.5-.7-.7z'/%3E%3C/svg%3E\");mask-size:contain;-webkit-mask-size:contain;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-position:center;-webkit-mask-position:center}.in-table-checkbox[_ngcontent-%COMP%]:hover:not(:checked){border-color:var(--p-checkbox-hover-border-color, #999999)}"] }); }
1666
+ } }, dependencies: () => [i1$2.NgClass, i1$2.NgForOf, i1$2.NgIf, i1$2.NgTemplateOutlet, i1$2.NgSwitch, i1$2.NgSwitchCase, i2$2.Table, i2.PrimeTemplate, i2$2.SortableColumn, i2$2.SelectableRow, i2$2.ResizableColumn, i2$2.SortIcon, i2$1.ɵNgNoValidate, i2$1.DefaultValueAccessor, i2$1.NgControlStatus, i2$1.NgControlStatusGroup, i2$1.RequiredValidator, i2$1.NgModel, i2$1.NgForm, i5.Dropdown, i6.MultiSelect, i7.NgbDropdown, i7.NgbDropdownToggle, i7.NgbDropdownMenu, i7.NgbDropdownItem, TableColumnsMultiselectComponent, PropertyValuePipe, i1.TranslatePipe], styles: ["@charset \"UTF-8\";.u-overflow-visible[_ngcontent-%COMP%]{overflow:visible!important}.row_status_success[_ngcontent-%COMP%]{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-success, #31AC51)}.row_status_error[_ngcontent-%COMP%]{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-error, #F95C5D)}.row_status_warning[_ngcontent-%COMP%]{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-warning, #EE9946)}.row_status_critical[_ngcontent-%COMP%]{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-critical, #F95C5D)}.row_status_falsevalue[_ngcontent-%COMP%]{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-falsevalue, #85B3CB)}.row_status_disabled[_ngcontent-%COMP%]{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-disabled)}.row_status_none[_ngcontent-%COMP%]{padding-left:9px!important;border-left:4px solid transparent}.row_status_pending[_ngcontent-%COMP%]{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-pending, #1f85ff)}.button-reset[_ngcontent-%COMP%]{display:flex;align-items:center;position:absolute;right:6px;top:5px;padding:6px;font-size:15px;border:none;outline:0;cursor:pointer;color:var(--colorTextMuted);background-color:transparent}.button-reset[_ngcontent-%COMP%]:hover{color:var(--ids-theme-btn-default-color, #FFFFFF)}.input-wrapper[_ngcontent-%COMP%]{position:relative;display:flex;align-items:baseline}.c-input[_ngcontent-%COMP%]:not(:valid) ~ .button-reset[_ngcontent-%COMP%]{display:none}.in-table-checkbox[_ngcontent-%COMP%]{appearance:none;-webkit-appearance:none;width:var(--p-checkbox-width, 20px);height:var(--p-checkbox-height, 20px);border:1px solid var(--p-checkbox-border-color, #B3B3B3);border-radius:var(--p-checkbox-border-radius, 2px);background:var(--p-checkbox-background, transparent);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;flex-shrink:0;transition:border-color var(--p-checkbox-transition-duration, .15s),background var(--p-checkbox-transition-duration, .15s)}.in-table-checkbox[_ngcontent-%COMP%]:checked{background:var(--p-checkbox-checked-background, #387382);border-color:var(--p-checkbox-checked-border-color, #387382)}.in-table-checkbox[_ngcontent-%COMP%]:checked:after{content:\"\";display:block;width:var(--p-checkbox-icon-size, 14px);height:var(--p-checkbox-icon-size, 14px);background-color:var(--p-checkbox-icon-checked-color, #ffffff);mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='currentColor' d='M5.25 10.15l-2.8-2.8-.7.7 3.5 3.5 7.5-7.5-.7-.7z'/%3E%3C/svg%3E\");-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='currentColor' d='M5.25 10.15l-2.8-2.8-.7.7 3.5 3.5 7.5-7.5-.7-.7z'/%3E%3C/svg%3E\");mask-size:contain;-webkit-mask-size:contain;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-position:center;-webkit-mask-position:center}.in-table-checkbox[_ngcontent-%COMP%]:indeterminate{background:var(--p-checkbox-checked-background, #387382);border-color:var(--p-checkbox-checked-border-color, #387382)}.in-table-checkbox[_ngcontent-%COMP%]:indeterminate:after{content:\"\";display:block;width:calc(var(--p-checkbox-icon-size, 14px) - 2px);height:2px;background-color:var(--p-checkbox-icon-checked-color, #ffffff);margin:auto}.in-table-checkbox[_ngcontent-%COMP%]:hover:not(:checked):not(:indeterminate){border-color:var(--p-checkbox-hover-border-color, #999999)}"] }); }
1624
1667
  }
1625
1668
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableComponent, [{
1626
1669
  type: Component,
1627
- args: [{ standalone: false, selector: 'in-table', providers: [TableService], template: "<span *ngIf=\"label\" class=\"c-label\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n <span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\r\n</span>\r\n<p-table #dt\r\n (onFilter) = onFilter($event)\r\n (onSort)=\"onSort()\"\r\n (onStateRestore)=\"restoreSearchText()\"\r\n (onStateSave)=\"stateSave($event)\"\r\n (sortFunction)=\"sortFunction? sortFunction.emit($event): null\"\r\n [(selection)]=\"selectionValue\"\r\n [class]=\"class\"\r\n [columns]=\"filteredColumns\"\r\n [customSort]=\"customSort\"\r\n [dataKey]=\"dataKey || 'id'\"\r\n [globalFilterFields]=\"globalFilteredColumns\"\r\n [resizableColumns]=\"resizableColumns\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [scrollable]=\"scrollable\"\r\n [selectionMode]=\"selectionMode\"\r\n [sortField]=\"sortField || 'id'\"\r\n [sortOrder]=\"isAscending ? 1 : -1\"\r\n [stateKey]=\"stateKey\"\r\n [stateStorage]=\"'local'\"\r\n [style]=\"style\"\r\n [value]=\"values\"\r\n [columnResizeMode]=\"columnResizeMode\"\r\n>\r\n <ng-template *ngIf=\"colGroupTemplate\" let-columns pTemplate=\"colgroup\">\r\n <ng-container\r\n *ngTemplateOutlet=\"colGroupTemplate; context: {$implicit: { columns: columns}}\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"!colGroupTemplate\" let-columns pTemplate=\"colgroup\">\r\n <colgroup *ngIf=\"!isMobileView\">\r\n <col *ngIf=\"checkboxSelection\" style=\"width: 44px;\">\r\n <col *ngFor=\"let col of filteredColumns; let idx = index\">\r\n </colgroup>\r\n </ng-template>\r\n\r\n <ng-template let-columns pTemplate=\"header\">\r\n <ng-container *ngIf=\"showHeader\">\r\n <tr>\r\n <th *ngIf=\"checkboxSelection\" class=\"u-position-relative u-text_center\" pResizableColumn style=\"width: 44px;\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n <th *ngFor=\"let col of filteredColumns\" [pSortableColumn]=\"col.field\" class=\"u-position-relative\"\r\n pResizableColumn>\r\n <div class=\"p-table-thead-title\"\r\n title=\"{{col.label | translate}}\">\r\n {{col.label | translate}}\r\n </div>\r\n <p-sortIcon *ngIf=\"isSortIcon\" [field]=\"col.field\"\r\n class=\"u-position-absolute u-position-absolute-right c-sorticon\"\r\n style=\"display: flex; width: 18px; top: 0; height: 100%;\"></p-sortIcon>\r\n </th>\r\n </tr>\r\n <tr *ngIf=\"toolbar && toolbar.filter && toolbar.filter.active\">\r\n <th *ngIf=\"checkboxSelection\" class=\"u-position-relative u-text_center\" pResizableColumn\r\n style=\"width: 44px;\"></th>\r\n <th *ngFor=\"let col of columns\" [ngSwitch]=\"col.field\">\r\n <input\r\n (input)=\"dt.filter($any($event.target).value, col.field, 'contains')\"\r\n *ngSwitchCase=\"colFilter(col.field)?.type === 'text' ? col.field : ''\"\r\n autofocus=\"\"\r\n class=\"c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\r\n pInputText\r\n type=\"text\">\r\n\r\n <p-dropdown (onChange)=\"dt.filter($event.value, col.field, 'equals')\"\r\n *ngSwitchCase=\"colFilter(col.field)?.type === 'dropdown' ? col.field : ''\"\r\n [options]=\"colFilter(col.field)?.options\"\r\n [style]=\"{ width: '100%', overflow: 'visible' }\"\r\n appendTo=\"body\"></p-dropdown>\r\n\r\n <p-multiSelect (onChange)=\"dt.filter($event.value, col.field, 'in')\"\r\n *ngSwitchCase=\"colFilter(col.field)?.type === 'multiselect' ? col.field : ''\"\r\n [options]=\"colFilter(col.field)?.options\"\r\n [style]=\"{ width: '100%', overflow: 'visible' }\" appendTo=\"body\"\r\n defaultLabel=\"{{'All' | translate}}\"></p-multiSelect>\r\n <input\r\n (input)=\"dt.filter($any($event.target).value, col.field + '2filter', 'contains')\"\r\n *ngSwitchCase=\"colFilter(col.field)?.type === 'datetext' ? col.field : ''\"\r\n autofocus=\"\"\r\n class=\"c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\r\n pInputText\r\n type=\"text\">\r\n </th>\r\n </tr>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"bodyTemplate\" let-columns=\"columns\" let-rowData let-rowIndex=\"rowIndex\" pTemplate=\"body\">\r\n <ng-container\r\n *ngTemplateOutlet=\"bodyTemplate; context: {$implicit: { rowIndex: rowIndex, rowData: rowData, columns: columns}}\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"!bodyTemplate\" let-columns=\"columns\" let-index=\"rowIndex\" let-rowData pTemplate=\"body\">\r\n <tr\r\n (click)=\"toggleGroup(index, rowData.groupKey[groupMode])\"\r\n *ngIf=\"isGrouped && isShowGroup(rowData.groupKey[groupMode], index)\"\r\n class=\"row_hover_highlight\">\r\n <td [colSpan]=\"countVisibleColumns() + 1\">\r\n <span>\r\n <i\r\n [ngClass]=\"groupInfo[rowData.groupKey[groupMode]].isExpanded ? 'in fa-fw in-chevron-down' : 'in fa-fw in-chevron-right'\"></i>\r\n <span>{{rowData.groupKey[groupMode] | translate }} ({{countGroup(rowData.groupKey[groupMode], groupMode)}}\r\n )</span>\r\n </span>\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"!isGrouped || groupInfo[(rowData.groupKey[groupMode])].isExpanded\"\r\n [ngClass]=\"{row_active: isRowActive(rowData)}\"\r\n [pSelectableRow]=\"rowData\"\r\n class=\"row\">\r\n <td *ngIf=\"checkboxSelection\" [ngClass]=\"{\r\n 'row_status_success': rowData.sdirparamstatecolor === 'success',\r\n 'row_status_error': rowData.sdirparamstatecolor === 'error',\r\n 'row_status_warning': rowData.sdirparamstatecolor === 'warning',\r\n 'row_status_critical': rowData.sdirparamstatecolor === 'critical',\r\n 'row_status_falsevalue': rowData.sdirparamstatecolor === 'falsevalue',\r\n 'row_status_pending': rowData.sdirparamstatecolor === 'pending'\r\n }\" class=\"u-text_center\"\r\n style=\"width: 44px\"\r\n >\r\n <!-- Native checkbox \u2014 no Angular component overhead (no NgModel/CVA/signals).\r\n Uses Set for O(1) state lookup instead of p-tableCheckbox's O(M) isSelected(). -->\r\n <input type=\"checkbox\"\r\n class=\"in-table-checkbox\"\r\n [checked]=\"_isRowSelected(rowData)\"\r\n [style.pointer-events]=\"(selectionMode === 'single' || (selectionMode === 'multiple' && checkboxSelection)) ? 'none' : 'auto'\"\r\n (change)=\"_onCheckboxChange($event, rowData)\"\r\n (click)=\"$event.stopPropagation()\"\r\n >\r\n </td>\r\n <td (click)=\"activeChange.emit(rowData)\"\r\n *ngFor=\"let col of filteredColumns\"\r\n class=\"u-overflow-visible\">\r\n <div (mouseover)=\"showTooltip($event)\" *ngIf=\"!valueTemplate\" class=\"p-table-tbody-content\" title>\r\n {{col.translatable ? (rowData | propertyValue: col.field | translate) : (rowData | propertyValue: col.field)}}\r\n </div>\r\n <ng-container\r\n *ngTemplateOutlet=\"valueTemplate; context: {$implicit: { data: rowData, col: col}}\"></ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"toolbar\" pTemplate=\"caption\">\r\n\r\n <div class=\"o-grid o-grid_no-gutter\">\r\n <div class=\"c-tree-table__toolbar-content u-display-inline-flex\">\r\n <div *ngIf=\"isTextSearch\" class=\"c-form c-form_inline u-display-inline-block\">\r\n <form class=\"c-label\">\r\n <div class=\"input-wrapper u-margin-right-tiny\">\r\n <input #searchTextInput\r\n (input)=\"localSearch(dt, searchText)\"\r\n [(ngModel)]=\"searchText\"\r\n [ngModelOptions]=\"{standalone: true}\"\r\n autofocus=\"\"\r\n class=\"search-box c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\r\n pInputText\r\n placeholder=\"{{('SHARED.SEARCH' | translate) + ':'}}\"\r\n required\r\n style=\"padding-right: 28px\"\r\n tabindex=\"1\"\r\n type=\"search\"\r\n >\r\n <button (click)=\"clear()\" class=\"button-reset\" type=\"reset\"\r\n [attr.title]=\"'Reset' | translate\">\r\n <i class=\"in in-close\"></i>\r\n </button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"c-btn c-btn_border-free c-btn_small\">\r\n <in-table-columns-multiselect (columnsChange)=\"columnsChange($event)\"\r\n [columns]=\"primaryColumns\"\r\n [disableActiveCheckboxes]=\"countVisibleColumns() === 1\"></in-table-columns-multiselect>\r\n </div>\r\n\r\n <button (click)=\"onFilterToolbar($event)\" *ngIf=\"toolbar.filter\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-filter\" title=\"{{'Service filter' | translate}}\"></i>\r\n </button>\r\n\r\n <button (click)=\"treeAction.emit($event)\" *ngIf=\"toolbar.tree\" [disabled]=\"toolbar.tree.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-list\" title=\"{{'Filter by rubric' | translate}}\"></i>\r\n </button>\r\n\r\n <button (click)=\"addAction.emit($event)\" *ngIf=\"toolbar.add\" [disabled]=\"toolbar.add.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-plus\" title=\"{{'Add' | translate}}\"></i>\r\n </button>\r\n\r\n <button (click)=\"linkAction.emit($event)\" *ngIf=\"toolbar.link\" [disabled]=\"toolbar.link.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-link\" title=\"{{'Link' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"csvAction.emit($event)\" *ngIf=\"toolbar.csv\" [disabled]=\"toolbar.csv.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <!--Todo: \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u043D\u0430 in-file-csv-->\r\n <i class=\"in in-file-excel-outline\" title=\"{{'LOGS.SAVE_TO_CSV' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"saveAction.emit($event)\" *ngIf=\"toolbar.save\"\r\n [disabled]=\"toolbar.save.disabled\"\r\n class=\"c-btn c-btn_primary c-btn_small\"\r\n title=\"{{'Save' | translate}}\"\r\n >\r\n {{'Save' | translate}}\r\n </button>\r\n <button (click)=\"groupEditAction.emit($event)\" *ngIf=\"toolbar.groupEdit && toolbar.groupEdit.active\"\r\n [disabled]=\"toolbar.groupEdit.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-pencil\" title=\"{{'groupEdit' | translate}}\"></i>\r\n </button>\r\n <ng-content select=\"[buttons]\"></ng-content>\r\n <button (click)=\"paramsEditAction.emit($event)\" *ngIf=\"toolbar.paramsEdit && toolbar.paramsEdit.active\"\r\n [disabled]=\"toolbar.paramsEdit.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-pencil\" title=\"{{'paramsEdit' | translate}}\"></i>\r\n </button>\r\n\r\n\r\n <button (click)=\"removeAction.emit($event)\" *ngIf=\"toolbar.remove && toolbar.remove.active\"\r\n [disabled]=\"toolbar.remove.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-trash\" title=\"{{'Delete' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"unlinkAction.emit($event)\" *ngIf=\"toolbar.unlink\" [disabled]=\"toolbar.unlink.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-link-off\" title=\"{{'Detach tag from selected items' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"toggleNodes(true)\"\r\n *ngIf=\"toolbar.expandAll\"\r\n class=\"c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free\"\r\n title=\"{{'Expand all' | translate}}\">\r\n <svg fill=\"currentColor\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M20 2H4v2h16V2zM4 20v2h16v-2H4zM12 5l5 6H7l5-6zM17 13l-5 6-5-6h10z\"/>\r\n </svg>\r\n </button>\r\n <button (click)=\"toggleNodes(false)\"\r\n *ngIf=\"toolbar.expandAll\"\r\n class=\"c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free\"\r\n title=\"{{'Collapse all' | translate}}\">\r\n <svg fill=\"currentColor\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path clip-rule=\"evenodd\" d=\"M17 3l-5 6-5-6h10zM4 13v-2h16v2H4zm8 2l5 6H7l5-6z\" fill-rule=\"evenodd\"/>\r\n </svg>\r\n </button>\r\n\r\n <div *ngIf=\"toolbar.groupSort\"\r\n class=\"c-btn-group\"\r\n container=\"body\"\r\n ngbDropdown>\r\n\r\n <button class=\"c-btn c-btn_border-free c-btn_small\"\r\n id=\"dropdownGroupType\"\r\n ngbDropdownToggle\r\n title=\"{{'Change the way parameters are grouped' | translate}}\">\r\n <i aria-hidden=\"true\" class=\"in in-object-group\"></i>\r\n <i aria-hidden=\"true\" class=\"c-caret\"></i>\r\n </button>\r\n\r\n <ul aria-labelledby=\"dropdownGroupType\"\r\n class=\"c-dropdown-menu c-dropdown-menu_right ng-star-inserted\"\r\n ngbDropdownMenu\r\n role=\"menu\">\r\n <li *ngFor=\"let item of toolbar.groupSort.label\"\r\n [ngClass]=\"{'is-dropdown-menu__listitem_active': item.value === groupMode}\"\r\n class=\"c-dropdown-menu__listitem is-dropdown-menu__listitem_active\"\r\n ngbDropdownItem\r\n role=\"menuitem\">\r\n <a (click)=\"toggleMode(item.value)\" class=\"c-dropdown-menu__content\">\r\n {{item.label}}\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</p-table>\r\n", styles: ["@charset \"UTF-8\";.u-overflow-visible{overflow:visible!important}.row_status_success{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-success, #31AC51)}.row_status_error{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-error, #F95C5D)}.row_status_warning{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-warning, #EE9946)}.row_status_critical{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-critical, #F95C5D)}.row_status_falsevalue{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-falsevalue, #85B3CB)}.row_status_disabled{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-disabled)}.row_status_none{padding-left:9px!important;border-left:4px solid transparent}.row_status_pending{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-pending, #1f85ff)}.button-reset{display:flex;align-items:center;position:absolute;right:6px;top:5px;padding:6px;font-size:15px;border:none;outline:0;cursor:pointer;color:var(--colorTextMuted);background-color:transparent}.button-reset:hover{color:var(--ids-theme-btn-default-color, #FFFFFF)}.input-wrapper{position:relative;display:flex;align-items:baseline}.c-input:not(:valid)~.button-reset{display:none}.in-table-checkbox{appearance:none;-webkit-appearance:none;width:var(--p-checkbox-width, 20px);height:var(--p-checkbox-height, 20px);border:1px solid var(--p-checkbox-border-color, #B3B3B3);border-radius:var(--p-checkbox-border-radius, 2px);background:var(--p-checkbox-background, transparent);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;flex-shrink:0;transition:border-color var(--p-checkbox-transition-duration, .15s),background var(--p-checkbox-transition-duration, .15s)}.in-table-checkbox:checked{background:var(--p-checkbox-checked-background, #387382);border-color:var(--p-checkbox-checked-border-color, #387382)}.in-table-checkbox:checked:after{content:\"\";display:block;width:var(--p-checkbox-icon-size, 14px);height:var(--p-checkbox-icon-size, 14px);background-color:var(--p-checkbox-icon-checked-color, #ffffff);mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='currentColor' d='M5.25 10.15l-2.8-2.8-.7.7 3.5 3.5 7.5-7.5-.7-.7z'/%3E%3C/svg%3E\");-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='currentColor' d='M5.25 10.15l-2.8-2.8-.7.7 3.5 3.5 7.5-7.5-.7-.7z'/%3E%3C/svg%3E\");mask-size:contain;-webkit-mask-size:contain;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-position:center;-webkit-mask-position:center}.in-table-checkbox:hover:not(:checked){border-color:var(--p-checkbox-hover-border-color, #999999)}\n"] }]
1670
+ args: [{ standalone: false, selector: 'in-table', providers: [TableService], template: "<span *ngIf=\"label\" class=\"c-label\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n <span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\r\n</span>\r\n<p-table #dt\r\n (onFilter) = onFilter($event)\r\n (onSort)=\"onSort()\"\r\n (onStateRestore)=\"restoreSearchText()\"\r\n (onStateSave)=\"stateSave($event)\"\r\n (sortFunction)=\"sortFunction? sortFunction.emit($event): null\"\r\n [(selection)]=\"selectionValue\"\r\n [class]=\"class\"\r\n [columns]=\"filteredColumns\"\r\n [customSort]=\"customSort\"\r\n [dataKey]=\"dataKey || 'id'\"\r\n [globalFilterFields]=\"globalFilteredColumns\"\r\n [resizableColumns]=\"resizableColumns\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [scrollable]=\"scrollable\"\r\n [selectionMode]=\"selectionMode\"\r\n [sortField]=\"sortField || 'id'\"\r\n [sortOrder]=\"isAscending ? 1 : -1\"\r\n [stateKey]=\"stateKey\"\r\n [stateStorage]=\"'local'\"\r\n [style]=\"style\"\r\n [value]=\"values\"\r\n [columnResizeMode]=\"columnResizeMode\"\r\n>\r\n <ng-template *ngIf=\"colGroupTemplate\" let-columns pTemplate=\"colgroup\">\r\n <ng-container\r\n *ngTemplateOutlet=\"colGroupTemplate; context: {$implicit: { columns: columns}}\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"!colGroupTemplate\" let-columns pTemplate=\"colgroup\">\r\n <colgroup *ngIf=\"!isMobileView\">\r\n <col *ngIf=\"checkboxSelection\" style=\"width: 44px;\">\r\n <col *ngFor=\"let col of filteredColumns; let idx = index\">\r\n </colgroup>\r\n </ng-template>\r\n\r\n <ng-template let-columns pTemplate=\"header\">\r\n <ng-container *ngIf=\"showHeader\">\r\n <tr>\r\n <th *ngIf=\"checkboxSelection\" class=\"u-position-relative u-text_center\" pResizableColumn style=\"width: 44px;\">\r\n <!-- Native header checkbox bypasses dt.processedData (O(N log N) sort) used\r\n by p-tableHeaderCheckbox.toggleRowsWithCheckbox() on select all. -->\r\n <input type=\"checkbox\"\r\n class=\"in-table-checkbox\"\r\n [checked]=\"_isAllSelected()\"\r\n (change)=\"_onHeaderCheckboxChange($event)\"\r\n (click)=\"$event.stopPropagation()\"\r\n >\r\n </th>\r\n <th *ngFor=\"let col of filteredColumns\" [pSortableColumn]=\"col.field\" class=\"u-position-relative\"\r\n pResizableColumn>\r\n <div class=\"p-table-thead-title\"\r\n title=\"{{col.label | translate}}\">\r\n {{col.label | translate}}\r\n </div>\r\n <p-sortIcon *ngIf=\"isSortIcon\" [field]=\"col.field\"\r\n class=\"u-position-absolute u-position-absolute-right c-sorticon\"\r\n style=\"display: flex; width: 18px; top: 0; height: 100%;\"></p-sortIcon>\r\n </th>\r\n </tr>\r\n <tr *ngIf=\"toolbar && toolbar.filter && toolbar.filter.active\">\r\n <th *ngIf=\"checkboxSelection\" class=\"u-position-relative u-text_center\" pResizableColumn\r\n style=\"width: 44px;\"></th>\r\n <th *ngFor=\"let col of columns\" [ngSwitch]=\"col.field\">\r\n <input\r\n (input)=\"dt.filter($any($event.target).value, col.field, 'contains')\"\r\n *ngSwitchCase=\"colFilter(col.field)?.type === 'text' ? col.field : ''\"\r\n autofocus=\"\"\r\n class=\"c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\r\n pInputText\r\n type=\"text\">\r\n\r\n <p-dropdown (onChange)=\"dt.filter($event.value, col.field, 'equals')\"\r\n *ngSwitchCase=\"colFilter(col.field)?.type === 'dropdown' ? col.field : ''\"\r\n [options]=\"colFilter(col.field)?.options\"\r\n [style]=\"{ width: '100%', overflow: 'visible' }\"\r\n appendTo=\"body\"></p-dropdown>\r\n\r\n <p-multiSelect (onChange)=\"dt.filter($event.value, col.field, 'in')\"\r\n *ngSwitchCase=\"colFilter(col.field)?.type === 'multiselect' ? col.field : ''\"\r\n [options]=\"colFilter(col.field)?.options\"\r\n [style]=\"{ width: '100%', overflow: 'visible' }\" appendTo=\"body\"\r\n defaultLabel=\"{{'All' | translate}}\"></p-multiSelect>\r\n <input\r\n (input)=\"dt.filter($any($event.target).value, col.field + '2filter', 'contains')\"\r\n *ngSwitchCase=\"colFilter(col.field)?.type === 'datetext' ? col.field : ''\"\r\n autofocus=\"\"\r\n class=\"c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\r\n pInputText\r\n type=\"text\">\r\n </th>\r\n </tr>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"bodyTemplate\" let-columns=\"columns\" let-rowData let-rowIndex=\"rowIndex\" pTemplate=\"body\">\r\n <ng-container\r\n *ngTemplateOutlet=\"bodyTemplate; context: {$implicit: { rowIndex: rowIndex, rowData: rowData, columns: columns}}\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"!bodyTemplate\" let-columns=\"columns\" let-index=\"rowIndex\" let-rowData pTemplate=\"body\">\r\n <tr\r\n (click)=\"toggleGroup(index, rowData.groupKey[groupMode])\"\r\n *ngIf=\"isGrouped && isShowGroup(rowData.groupKey[groupMode], index)\"\r\n class=\"row_hover_highlight\">\r\n <td [colSpan]=\"countVisibleColumns() + 1\">\r\n <span>\r\n <i\r\n [ngClass]=\"groupInfo[rowData.groupKey[groupMode]].isExpanded ? 'in fa-fw in-chevron-down' : 'in fa-fw in-chevron-right'\"></i>\r\n <span>{{rowData.groupKey[groupMode] | translate }} ({{countGroup(rowData.groupKey[groupMode], groupMode)}}\r\n )</span>\r\n </span>\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"!isGrouped || groupInfo[(rowData.groupKey[groupMode])].isExpanded\"\r\n [ngClass]=\"{row_active: isRowActive(rowData)}\"\r\n [pSelectableRow]=\"rowData\"\r\n class=\"row\">\r\n <td *ngIf=\"checkboxSelection\" [ngClass]=\"{\r\n 'row_status_success': rowData.sdirparamstatecolor === 'success',\r\n 'row_status_error': rowData.sdirparamstatecolor === 'error',\r\n 'row_status_warning': rowData.sdirparamstatecolor === 'warning',\r\n 'row_status_critical': rowData.sdirparamstatecolor === 'critical',\r\n 'row_status_falsevalue': rowData.sdirparamstatecolor === 'falsevalue',\r\n 'row_status_pending': rowData.sdirparamstatecolor === 'pending'\r\n }\" class=\"u-text_center\"\r\n style=\"width: 44px\"\r\n >\r\n <!-- Native checkbox \u2014 no Angular component overhead (no NgModel/CVA/signals).\r\n Uses Set for O(1) state lookup instead of p-tableCheckbox's O(M) isSelected(). -->\r\n <input type=\"checkbox\"\r\n class=\"in-table-checkbox\"\r\n [checked]=\"_isRowSelected(rowData)\"\r\n [style.pointer-events]=\"(selectionMode === 'single' || (selectionMode === 'multiple' && checkboxSelection)) ? 'none' : 'auto'\"\r\n (change)=\"_onCheckboxChange($event, rowData)\"\r\n (click)=\"$event.stopPropagation()\"\r\n >\r\n </td>\r\n <td (click)=\"activeChange.emit(rowData)\"\r\n *ngFor=\"let col of filteredColumns\"\r\n class=\"u-overflow-visible\">\r\n <div (mouseover)=\"showTooltip($event)\" *ngIf=\"!valueTemplate\" class=\"p-table-tbody-content\" title>\r\n {{col.translatable ? (rowData | propertyValue: col.field | translate) : (rowData | propertyValue: col.field)}}\r\n </div>\r\n <ng-container\r\n *ngTemplateOutlet=\"valueTemplate; context: {$implicit: { data: rowData, col: col}}\"></ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"toolbar\" pTemplate=\"caption\">\r\n\r\n <div class=\"o-grid o-grid_no-gutter\">\r\n <div class=\"c-tree-table__toolbar-content u-display-inline-flex\">\r\n <div *ngIf=\"isTextSearch\" class=\"c-form c-form_inline u-display-inline-block\">\r\n <form class=\"c-label\">\r\n <div class=\"input-wrapper u-margin-right-tiny\">\r\n <input #searchTextInput\r\n (input)=\"localSearch(dt, searchText)\"\r\n [(ngModel)]=\"searchText\"\r\n [ngModelOptions]=\"{standalone: true}\"\r\n autofocus=\"\"\r\n class=\"search-box c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\r\n pInputText\r\n placeholder=\"{{('SHARED.SEARCH' | translate) + ':'}}\"\r\n required\r\n style=\"padding-right: 28px\"\r\n tabindex=\"1\"\r\n type=\"search\"\r\n >\r\n <button (click)=\"clear()\" class=\"button-reset\" type=\"reset\"\r\n [attr.title]=\"'Reset' | translate\">\r\n <i class=\"in in-close\"></i>\r\n </button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"c-btn c-btn_border-free c-btn_small\">\r\n <in-table-columns-multiselect (columnsChange)=\"columnsChange($event)\"\r\n [columns]=\"primaryColumns\"\r\n [disableActiveCheckboxes]=\"countVisibleColumns() === 1\"></in-table-columns-multiselect>\r\n </div>\r\n\r\n <button (click)=\"onFilterToolbar($event)\" *ngIf=\"toolbar.filter\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-filter\" title=\"{{'Service filter' | translate}}\"></i>\r\n </button>\r\n\r\n <button (click)=\"treeAction.emit($event)\" *ngIf=\"toolbar.tree\" [disabled]=\"toolbar.tree.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-list\" title=\"{{'Filter by rubric' | translate}}\"></i>\r\n </button>\r\n\r\n <button (click)=\"addAction.emit($event)\" *ngIf=\"toolbar.add\" [disabled]=\"toolbar.add.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-plus\" title=\"{{'Add' | translate}}\"></i>\r\n </button>\r\n\r\n <button (click)=\"linkAction.emit($event)\" *ngIf=\"toolbar.link\" [disabled]=\"toolbar.link.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-link\" title=\"{{'Link' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"csvAction.emit($event)\" *ngIf=\"toolbar.csv\" [disabled]=\"toolbar.csv.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <!--Todo: \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u043D\u0430 in-file-csv-->\r\n <i class=\"in in-file-excel-outline\" title=\"{{'LOGS.SAVE_TO_CSV' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"saveAction.emit($event)\" *ngIf=\"toolbar.save\"\r\n [disabled]=\"toolbar.save.disabled\"\r\n class=\"c-btn c-btn_primary c-btn_small\"\r\n title=\"{{'Save' | translate}}\"\r\n >\r\n {{'Save' | translate}}\r\n </button>\r\n <button (click)=\"groupEditAction.emit($event)\" *ngIf=\"toolbar.groupEdit && toolbar.groupEdit.active\"\r\n [disabled]=\"toolbar.groupEdit.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-pencil\" title=\"{{'groupEdit' | translate}}\"></i>\r\n </button>\r\n <ng-content select=\"[buttons]\"></ng-content>\r\n <button (click)=\"paramsEditAction.emit($event)\" *ngIf=\"toolbar.paramsEdit && toolbar.paramsEdit.active\"\r\n [disabled]=\"toolbar.paramsEdit.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-pencil\" title=\"{{'paramsEdit' | translate}}\"></i>\r\n </button>\r\n\r\n\r\n <button (click)=\"removeAction.emit($event)\" *ngIf=\"toolbar.remove && toolbar.remove.active\"\r\n [disabled]=\"toolbar.remove.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-trash\" title=\"{{'Delete' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"unlinkAction.emit($event)\" *ngIf=\"toolbar.unlink\" [disabled]=\"toolbar.unlink.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-link-off\" title=\"{{'Detach tag from selected items' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"toggleNodes(true)\"\r\n *ngIf=\"toolbar.expandAll\"\r\n class=\"c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free\"\r\n title=\"{{'Expand all' | translate}}\">\r\n <svg fill=\"currentColor\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M20 2H4v2h16V2zM4 20v2h16v-2H4zM12 5l5 6H7l5-6zM17 13l-5 6-5-6h10z\"/>\r\n </svg>\r\n </button>\r\n <button (click)=\"toggleNodes(false)\"\r\n *ngIf=\"toolbar.expandAll\"\r\n class=\"c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free\"\r\n title=\"{{'Collapse all' | translate}}\">\r\n <svg fill=\"currentColor\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path clip-rule=\"evenodd\" d=\"M17 3l-5 6-5-6h10zM4 13v-2h16v2H4zm8 2l5 6H7l5-6z\" fill-rule=\"evenodd\"/>\r\n </svg>\r\n </button>\r\n\r\n <div *ngIf=\"toolbar.groupSort\"\r\n class=\"c-btn-group\"\r\n container=\"body\"\r\n ngbDropdown>\r\n\r\n <button class=\"c-btn c-btn_border-free c-btn_small\"\r\n id=\"dropdownGroupType\"\r\n ngbDropdownToggle\r\n title=\"{{'Change the way parameters are grouped' | translate}}\">\r\n <i aria-hidden=\"true\" class=\"in in-object-group\"></i>\r\n <i aria-hidden=\"true\" class=\"c-caret\"></i>\r\n </button>\r\n\r\n <ul aria-labelledby=\"dropdownGroupType\"\r\n class=\"c-dropdown-menu c-dropdown-menu_right ng-star-inserted\"\r\n ngbDropdownMenu\r\n role=\"menu\">\r\n <li *ngFor=\"let item of toolbar.groupSort.label\"\r\n [ngClass]=\"{'is-dropdown-menu__listitem_active': item.value === groupMode}\"\r\n class=\"c-dropdown-menu__listitem is-dropdown-menu__listitem_active\"\r\n ngbDropdownItem\r\n role=\"menuitem\">\r\n <a (click)=\"toggleMode(item.value)\" class=\"c-dropdown-menu__content\">\r\n {{item.label}}\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</p-table>\r\n", styles: ["@charset \"UTF-8\";.u-overflow-visible{overflow:visible!important}.row_status_success{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-success, #31AC51)}.row_status_error{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-error, #F95C5D)}.row_status_warning{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-warning, #EE9946)}.row_status_critical{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-critical, #F95C5D)}.row_status_falsevalue{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-falsevalue, #85B3CB)}.row_status_disabled{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-disabled)}.row_status_none{padding-left:9px!important;border-left:4px solid transparent}.row_status_pending{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-pending, #1f85ff)}.button-reset{display:flex;align-items:center;position:absolute;right:6px;top:5px;padding:6px;font-size:15px;border:none;outline:0;cursor:pointer;color:var(--colorTextMuted);background-color:transparent}.button-reset:hover{color:var(--ids-theme-btn-default-color, #FFFFFF)}.input-wrapper{position:relative;display:flex;align-items:baseline}.c-input:not(:valid)~.button-reset{display:none}.in-table-checkbox{appearance:none;-webkit-appearance:none;width:var(--p-checkbox-width, 20px);height:var(--p-checkbox-height, 20px);border:1px solid var(--p-checkbox-border-color, #B3B3B3);border-radius:var(--p-checkbox-border-radius, 2px);background:var(--p-checkbox-background, transparent);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;flex-shrink:0;transition:border-color var(--p-checkbox-transition-duration, .15s),background var(--p-checkbox-transition-duration, .15s)}.in-table-checkbox:checked{background:var(--p-checkbox-checked-background, #387382);border-color:var(--p-checkbox-checked-border-color, #387382)}.in-table-checkbox:checked:after{content:\"\";display:block;width:var(--p-checkbox-icon-size, 14px);height:var(--p-checkbox-icon-size, 14px);background-color:var(--p-checkbox-icon-checked-color, #ffffff);mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='currentColor' d='M5.25 10.15l-2.8-2.8-.7.7 3.5 3.5 7.5-7.5-.7-.7z'/%3E%3C/svg%3E\");-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='currentColor' d='M5.25 10.15l-2.8-2.8-.7.7 3.5 3.5 7.5-7.5-.7-.7z'/%3E%3C/svg%3E\");mask-size:contain;-webkit-mask-size:contain;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-position:center;-webkit-mask-position:center}.in-table-checkbox:indeterminate{background:var(--p-checkbox-checked-background, #387382);border-color:var(--p-checkbox-checked-border-color, #387382)}.in-table-checkbox:indeterminate:after{content:\"\";display:block;width:calc(var(--p-checkbox-icon-size, 14px) - 2px);height:2px;background-color:var(--p-checkbox-icon-checked-color, #ffffff);margin:auto}.in-table-checkbox:hover:not(:checked):not(:indeterminate){border-color:var(--p-checkbox-hover-border-color, #999999)}\n"] }]
1628
1671
  }], null, { columns: [{
1629
1672
  type: Input
1630
1673
  }], values: [{
@@ -2250,127 +2293,132 @@ function TreeTableComponent_ng_template_2_Template(rf, ctx) { if (rf & 1) {
2250
2293
  i0.ɵɵproperty("ngForOf", ctx_r2.visibleColumns());
2251
2294
  } }
2252
2295
  function TreeTableComponent_ng_template_3_th_1_Template(rf, ctx) { if (rf & 1) {
2253
- i0.ɵɵelementStart(0, "th");
2254
- i0.ɵɵelement(1, "p-treeTableHeaderCheckbox");
2255
- i0.ɵɵelementEnd();
2296
+ const _r4 = i0.ɵɵgetCurrentView();
2297
+ i0.ɵɵelementStart(0, "th")(1, "input", 11);
2298
+ i0.ɵɵlistener("change", function TreeTableComponent_ng_template_3_th_1_Template_input_change_1_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2._onHeaderCheckboxChange($event)); })("click", function TreeTableComponent_ng_template_3_th_1_Template_input_click_1_listener($event) { i0.ɵɵrestoreView(_r4); return i0.ɵɵresetView($event.stopPropagation()); });
2299
+ i0.ɵɵelementEnd()();
2300
+ } if (rf & 2) {
2301
+ const ctx_r2 = i0.ɵɵnextContext(2);
2302
+ i0.ɵɵadvance();
2303
+ i0.ɵɵproperty("checked", ctx_r2._isAllSelected());
2256
2304
  } }
2257
2305
  function TreeTableComponent_ng_template_3_th_2_Template(rf, ctx) { if (rf & 1) {
2258
- i0.ɵɵelementStart(0, "th", 11)(1, "div", 12);
2306
+ i0.ɵɵelementStart(0, "th", 12)(1, "div", 13);
2259
2307
  i0.ɵɵpipe(2, "translate");
2260
2308
  i0.ɵɵtext(3);
2261
2309
  i0.ɵɵpipe(4, "translate");
2262
2310
  i0.ɵɵelementEnd();
2263
- i0.ɵɵelement(5, "p-treeTableSortIcon", 13);
2311
+ i0.ɵɵelement(5, "p-treeTableSortIcon", 14);
2264
2312
  i0.ɵɵelementEnd();
2265
2313
  } if (rf & 2) {
2266
- const col_r4 = ctx.$implicit;
2267
- i0.ɵɵproperty("ttSortableColumn", col_r4.field);
2314
+ const col_r5 = ctx.$implicit;
2315
+ i0.ɵɵproperty("ttSortableColumn", col_r5.field);
2268
2316
  i0.ɵɵadvance();
2269
- i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(2, 4, col_r4.label));
2317
+ i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(2, 4, col_r5.label));
2270
2318
  i0.ɵɵadvance(2);
2271
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 6, col_r4.label), " ");
2319
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 6, col_r5.label), " ");
2272
2320
  i0.ɵɵadvance(2);
2273
- i0.ɵɵproperty("field", col_r4.field);
2321
+ i0.ɵɵproperty("field", col_r5.field);
2274
2322
  } }
2275
2323
  function TreeTableComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
2276
2324
  i0.ɵɵelementStart(0, "tr");
2277
- i0.ɵɵtemplate(1, TreeTableComponent_ng_template_3_th_1_Template, 2, 0, "th", 6)(2, TreeTableComponent_ng_template_3_th_2_Template, 6, 8, "th", 10);
2325
+ i0.ɵɵtemplate(1, TreeTableComponent_ng_template_3_th_1_Template, 2, 1, "th", 6)(2, TreeTableComponent_ng_template_3_th_2_Template, 6, 8, "th", 10);
2278
2326
  i0.ɵɵelementEnd();
2279
2327
  } if (rf & 2) {
2280
- const columns_r5 = ctx.$implicit;
2328
+ const columns_r6 = ctx.$implicit;
2281
2329
  const ctx_r2 = i0.ɵɵnextContext();
2282
2330
  i0.ɵɵadvance();
2283
2331
  i0.ɵɵproperty("ngIf", ctx_r2.checkboxSelection);
2284
2332
  i0.ɵɵadvance();
2285
- i0.ɵɵproperty("ngForOf", columns_r5);
2333
+ i0.ɵɵproperty("ngForOf", columns_r6);
2286
2334
  } }
2287
2335
  function TreeTableComponent_ng_template_4_td_1_Template(rf, ctx) { if (rf & 1) {
2288
- const _r6 = i0.ɵɵgetCurrentView();
2289
- i0.ɵɵelementStart(0, "td")(1, "input", 16);
2290
- i0.ɵɵlistener("change", function TreeTableComponent_ng_template_4_td_1_Template_input_change_1_listener($event) { i0.ɵɵrestoreView(_r6); const rowNode_r7 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2._onCheckboxChange($event, rowNode_r7)); })("click", function TreeTableComponent_ng_template_4_td_1_Template_input_click_1_listener($event) { i0.ɵɵrestoreView(_r6); return i0.ɵɵresetView($event.stopPropagation()); });
2336
+ const _r7 = i0.ɵɵgetCurrentView();
2337
+ i0.ɵɵelementStart(0, "td")(1, "input", 17);
2338
+ i0.ɵɵlistener("change", function TreeTableComponent_ng_template_4_td_1_Template_input_change_1_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r7 = i0.ɵɵnextContext(); const rowData_r9 = ctx_r7.rowData; const rowNode_r10 = ctx_r7.$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2._onCheckboxChange($event, rowNode_r10, rowData_r9)); })("click", function TreeTableComponent_ng_template_4_td_1_Template_input_click_1_listener($event) { i0.ɵɵrestoreView(_r7); return i0.ɵɵresetView($event.stopPropagation()); });
2291
2339
  i0.ɵɵelementEnd()();
2292
2340
  } if (rf & 2) {
2293
- const rowNode_r7 = i0.ɵɵnextContext().$implicit;
2341
+ const rowData_r9 = i0.ɵɵnextContext().rowData;
2294
2342
  const ctx_r2 = i0.ɵɵnextContext();
2295
2343
  i0.ɵɵadvance();
2296
- i0.ɵɵproperty("checked", ctx_r2._isRowSelected(rowNode_r7));
2344
+ i0.ɵɵproperty("checked", ctx_r2._isRowSelected(rowData_r9))("indeterminate", ctx_r2._isIndeterminate(rowData_r9));
2297
2345
  } }
2298
2346
  function TreeTableComponent_ng_template_4_td_2_ng_template_2_Template(rf, ctx) { if (rf & 1) {
2299
- i0.ɵɵelement(0, "p-treeTableToggler", 22);
2347
+ i0.ɵɵelement(0, "p-treeTableToggler", 23);
2300
2348
  } if (rf & 2) {
2301
- const rowNode_r7 = i0.ɵɵnextContext(2).$implicit;
2302
- i0.ɵɵproperty("rowNode", rowNode_r7);
2349
+ const rowNode_r10 = i0.ɵɵnextContext(2).$implicit;
2350
+ i0.ɵɵproperty("rowNode", rowNode_r10);
2303
2351
  } }
2304
2352
  function TreeTableComponent_ng_template_4_td_2_ng_container_5_i_1_Template(rf, ctx) { if (rf & 1) {
2305
- i0.ɵɵelement(0, "i", 24);
2353
+ i0.ɵɵelement(0, "i", 25);
2306
2354
  } if (rf & 2) {
2307
2355
  const rowData_r9 = i0.ɵɵnextContext(3).rowData;
2308
2356
  i0.ɵɵproperty("ngClass", rowData_r9.icon);
2309
2357
  } }
2310
2358
  function TreeTableComponent_ng_template_4_td_2_ng_container_5_Template(rf, ctx) { if (rf & 1) {
2311
2359
  i0.ɵɵelementContainerStart(0);
2312
- i0.ɵɵtemplate(1, TreeTableComponent_ng_template_4_td_2_ng_container_5_i_1_Template, 1, 1, "i", 23);
2360
+ i0.ɵɵtemplate(1, TreeTableComponent_ng_template_4_td_2_ng_container_5_i_1_Template, 1, 1, "i", 24);
2313
2361
  i0.ɵɵtext(2);
2314
2362
  i0.ɵɵpipe(3, "propertyValue");
2315
2363
  i0.ɵɵelementContainerEnd();
2316
2364
  } if (rf & 2) {
2317
- const ctx_r9 = i0.ɵɵnextContext();
2318
- const col_r11 = ctx_r9.$implicit;
2319
- const i_r12 = ctx_r9.index;
2365
+ const ctx_r11 = i0.ɵɵnextContext();
2366
+ const col_r13 = ctx_r11.$implicit;
2367
+ const i_r14 = ctx_r11.index;
2320
2368
  const rowData_r9 = i0.ɵɵnextContext().rowData;
2321
2369
  i0.ɵɵadvance();
2322
- i0.ɵɵproperty("ngIf", rowData_r9.icon && i_r12 == 0);
2370
+ i0.ɵɵproperty("ngIf", rowData_r9.icon && i_r14 == 0);
2323
2371
  i0.ɵɵadvance();
2324
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(3, 2, rowData_r9, col_r11.field), " ");
2372
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(3, 2, rowData_r9, col_r13.field), " ");
2325
2373
  } }
2326
2374
  function TreeTableComponent_ng_template_4_td_2_ng_container_6_Template(rf, ctx) { if (rf & 1) {
2327
2375
  i0.ɵɵelementContainer(0);
2328
2376
  } }
2329
2377
  function TreeTableComponent_ng_template_4_td_2_Template(rf, ctx) { if (rf & 1) {
2330
- const _r8 = i0.ɵɵgetCurrentView();
2331
- i0.ɵɵelementStart(0, "td", 17);
2332
- i0.ɵɵlistener("click", function TreeTableComponent_ng_template_4_td_2_Template_td_click_0_listener() { i0.ɵɵrestoreView(_r8); const rowData_r9 = i0.ɵɵnextContext().rowData; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.activeChange.emit(rowData_r9)); });
2333
- i0.ɵɵelementStart(1, "div", 18);
2334
- i0.ɵɵtemplate(2, TreeTableComponent_ng_template_4_td_2_ng_template_2_Template, 1, 1, "ng-template", 19);
2335
- i0.ɵɵelementStart(3, "div", 20);
2378
+ const _r11 = i0.ɵɵgetCurrentView();
2379
+ i0.ɵɵelementStart(0, "td", 18);
2380
+ i0.ɵɵlistener("click", function TreeTableComponent_ng_template_4_td_2_Template_td_click_0_listener() { i0.ɵɵrestoreView(_r11); const rowData_r9 = i0.ɵɵnextContext().rowData; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.activeChange.emit(rowData_r9)); });
2381
+ i0.ɵɵelementStart(1, "div", 19);
2382
+ i0.ɵɵtemplate(2, TreeTableComponent_ng_template_4_td_2_ng_template_2_Template, 1, 1, "ng-template", 20);
2383
+ i0.ɵɵelementStart(3, "div", 21);
2336
2384
  i0.ɵɵpipe(4, "propertyValue");
2337
- i0.ɵɵtemplate(5, TreeTableComponent_ng_template_4_td_2_ng_container_5_Template, 4, 5, "ng-container", 6)(6, TreeTableComponent_ng_template_4_td_2_ng_container_6_Template, 1, 0, "ng-container", 21);
2385
+ i0.ɵɵtemplate(5, TreeTableComponent_ng_template_4_td_2_ng_container_5_Template, 4, 5, "ng-container", 6)(6, TreeTableComponent_ng_template_4_td_2_ng_container_6_Template, 1, 0, "ng-container", 22);
2338
2386
  i0.ɵɵelementEnd()()();
2339
2387
  } if (rf & 2) {
2340
- const col_r11 = ctx.$implicit;
2341
- const i_r12 = ctx.index;
2388
+ const col_r13 = ctx.$implicit;
2389
+ const i_r14 = ctx.index;
2342
2390
  const rowData_r9 = i0.ɵɵnextContext().rowData;
2343
2391
  const ctx_r2 = i0.ɵɵnextContext();
2344
2392
  i0.ɵɵadvance(2);
2345
- i0.ɵɵproperty("ngIf", i_r12 == 0);
2393
+ i0.ɵɵproperty("ngIf", i_r14 == 0);
2346
2394
  i0.ɵɵadvance();
2347
- i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind2(4, 6, rowData_r9, col_r11.field));
2348
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(9, _c1$7, i_r12 == 0));
2395
+ i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind2(4, 6, rowData_r9, col_r13.field));
2396
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(9, _c1$7, i_r14 == 0));
2349
2397
  i0.ɵɵadvance(2);
2350
2398
  i0.ɵɵproperty("ngIf", !ctx_r2.valueTemplate);
2351
2399
  i0.ɵɵadvance();
2352
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.valueTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(14, _c3$5, i0.ɵɵpureFunction2(11, _c2$6, rowData_r9, col_r11)));
2400
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.valueTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(14, _c3$5, i0.ɵɵpureFunction2(11, _c2$6, rowData_r9, col_r13)));
2353
2401
  } }
2354
2402
  function TreeTableComponent_ng_template_4_Template(rf, ctx) { if (rf & 1) {
2355
- i0.ɵɵelementStart(0, "tr", 14);
2356
- i0.ɵɵtemplate(1, TreeTableComponent_ng_template_4_td_1_Template, 2, 1, "td", 6)(2, TreeTableComponent_ng_template_4_td_2_Template, 7, 16, "td", 15);
2403
+ i0.ɵɵelementStart(0, "tr", 15);
2404
+ i0.ɵɵtemplate(1, TreeTableComponent_ng_template_4_td_1_Template, 2, 2, "td", 6)(2, TreeTableComponent_ng_template_4_td_2_Template, 7, 16, "td", 16);
2357
2405
  i0.ɵɵelementEnd();
2358
2406
  } if (rf & 2) {
2359
- const columns_r13 = ctx.columns;
2407
+ const columns_r15 = ctx.columns;
2360
2408
  const rowData_r9 = ctx.rowData;
2361
- const rowNode_r7 = ctx.$implicit;
2409
+ const rowNode_r10 = ctx.$implicit;
2362
2410
  const ctx_r2 = i0.ɵɵnextContext();
2363
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c0$g, ctx_r2.isRowActive(rowData_r9)))("ttSelectableRow", rowNode_r7);
2411
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c0$g, ctx_r2.isRowActive(rowData_r9)))("ttSelectableRow", rowNode_r10);
2364
2412
  i0.ɵɵadvance();
2365
2413
  i0.ɵɵproperty("ngIf", ctx_r2.checkboxSelection);
2366
2414
  i0.ɵɵadvance();
2367
- i0.ɵɵproperty("ngForOf", columns_r13);
2415
+ i0.ɵɵproperty("ngForOf", columns_r15);
2368
2416
  } }
2369
2417
  function TreeTableComponent_5_ng_template_0_button_13_Template(rf, ctx) { if (rf & 1) {
2370
- const _r16 = i0.ɵɵgetCurrentView();
2371
- i0.ɵɵelementStart(0, "button", 39);
2372
- i0.ɵɵlistener("click", function TreeTableComponent_5_ng_template_0_button_13_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.addAction.emit($event)); });
2373
- i0.ɵɵelement(1, "i", 40);
2418
+ const _r18 = i0.ɵɵgetCurrentView();
2419
+ i0.ɵɵelementStart(0, "button", 40);
2420
+ i0.ɵɵlistener("click", function TreeTableComponent_5_ng_template_0_button_13_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r18); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.addAction.emit($event)); });
2421
+ i0.ɵɵelement(1, "i", 41);
2374
2422
  i0.ɵɵelementEnd();
2375
2423
  } if (rf & 2) {
2376
2424
  const ctx_r2 = i0.ɵɵnextContext(3);
@@ -2379,10 +2427,10 @@ function TreeTableComponent_5_ng_template_0_button_13_Template(rf, ctx) { if (rf
2379
2427
  i0.ɵɵproperty("title", ctx_r2.toolbar.add.title || "\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C");
2380
2428
  } }
2381
2429
  function TreeTableComponent_5_ng_template_0_button_14_Template(rf, ctx) { if (rf & 1) {
2382
- const _r17 = i0.ɵɵgetCurrentView();
2383
- i0.ɵɵelementStart(0, "button", 39);
2384
- i0.ɵɵlistener("click", function TreeTableComponent_5_ng_template_0_button_14_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r17); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.groupAddAction.emit($event)); });
2385
- i0.ɵɵelement(1, "i", 41);
2430
+ const _r19 = i0.ɵɵgetCurrentView();
2431
+ i0.ɵɵelementStart(0, "button", 40);
2432
+ i0.ɵɵlistener("click", function TreeTableComponent_5_ng_template_0_button_14_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.groupAddAction.emit($event)); });
2433
+ i0.ɵɵelement(1, "i", 42);
2386
2434
  i0.ɵɵelementEnd();
2387
2435
  } if (rf & 2) {
2388
2436
  const ctx_r2 = i0.ɵɵnextContext(3);
@@ -2391,10 +2439,10 @@ function TreeTableComponent_5_ng_template_0_button_14_Template(rf, ctx) { if (rf
2391
2439
  i0.ɵɵproperty("title", ctx_r2.toolbar.groupAdd.title || "\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0433\u0440\u0443\u043F\u043F\u0443");
2392
2440
  } }
2393
2441
  function TreeTableComponent_5_ng_template_0_button_15_Template(rf, ctx) { if (rf & 1) {
2394
- const _r18 = i0.ɵɵgetCurrentView();
2395
- i0.ɵɵelementStart(0, "button", 42);
2442
+ const _r20 = i0.ɵɵgetCurrentView();
2443
+ i0.ɵɵelementStart(0, "button", 43);
2396
2444
  i0.ɵɵpipe(1, "translate");
2397
- i0.ɵɵlistener("click", function TreeTableComponent_5_ng_template_0_button_15_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r18); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.saveAction.emit($event)); });
2445
+ i0.ɵɵlistener("click", function TreeTableComponent_5_ng_template_0_button_15_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r20); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.saveAction.emit($event)); });
2398
2446
  i0.ɵɵtext(2);
2399
2447
  i0.ɵɵpipe(3, "translate");
2400
2448
  i0.ɵɵelementEnd();
@@ -2406,10 +2454,10 @@ function TreeTableComponent_5_ng_template_0_button_15_Template(rf, ctx) { if (rf
2406
2454
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 5, "Save"), " ");
2407
2455
  } }
2408
2456
  function TreeTableComponent_5_ng_template_0_button_16_Template(rf, ctx) { if (rf & 1) {
2409
- const _r19 = i0.ɵɵgetCurrentView();
2410
- i0.ɵɵelementStart(0, "button", 39);
2411
- i0.ɵɵlistener("click", function TreeTableComponent_5_ng_template_0_button_16_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.groupEditAction.emit($event)); });
2412
- i0.ɵɵelement(1, "i", 43);
2457
+ const _r21 = i0.ɵɵgetCurrentView();
2458
+ i0.ɵɵelementStart(0, "button", 40);
2459
+ i0.ɵɵlistener("click", function TreeTableComponent_5_ng_template_0_button_16_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r21); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.groupEditAction.emit($event)); });
2460
+ i0.ɵɵelement(1, "i", 44);
2413
2461
  i0.ɵɵpipe(2, "translate");
2414
2462
  i0.ɵɵelementEnd();
2415
2463
  } if (rf & 2) {
@@ -2419,10 +2467,10 @@ function TreeTableComponent_5_ng_template_0_button_16_Template(rf, ctx) { if (rf
2419
2467
  i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(2, 2, "groupEdit"));
2420
2468
  } }
2421
2469
  function TreeTableComponent_5_ng_template_0_button_17_Template(rf, ctx) { if (rf & 1) {
2422
- const _r20 = i0.ɵɵgetCurrentView();
2423
- i0.ɵɵelementStart(0, "button", 39);
2424
- i0.ɵɵlistener("click", function TreeTableComponent_5_ng_template_0_button_17_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r20); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.removeAction.emit($event)); });
2425
- i0.ɵɵelement(1, "i", 44);
2470
+ const _r22 = i0.ɵɵgetCurrentView();
2471
+ i0.ɵɵelementStart(0, "button", 40);
2472
+ i0.ɵɵlistener("click", function TreeTableComponent_5_ng_template_0_button_17_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r22); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.removeAction.emit($event)); });
2473
+ i0.ɵɵelement(1, "i", 45);
2426
2474
  i0.ɵɵelementEnd();
2427
2475
  } if (rf & 2) {
2428
2476
  const ctx_r2 = i0.ɵɵnextContext(3);
@@ -2431,10 +2479,10 @@ function TreeTableComponent_5_ng_template_0_button_17_Template(rf, ctx) { if (rf
2431
2479
  i0.ɵɵproperty("title", (ctx_r2.toolbar.remove == null ? null : ctx_r2.toolbar.remove.title) || "\u0423\u0434\u0430\u043B\u0438\u0442\u044C");
2432
2480
  } }
2433
2481
  function TreeTableComponent_5_ng_template_0_button_18_Template(rf, ctx) { if (rf & 1) {
2434
- const _r21 = i0.ɵɵgetCurrentView();
2435
- i0.ɵɵelementStart(0, "button", 39);
2436
- i0.ɵɵlistener("click", function TreeTableComponent_5_ng_template_0_button_18_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r21); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.unlinkAction.emit($event)); });
2437
- i0.ɵɵelement(1, "i", 45);
2482
+ const _r23 = i0.ɵɵgetCurrentView();
2483
+ i0.ɵɵelementStart(0, "button", 40);
2484
+ i0.ɵɵlistener("click", function TreeTableComponent_5_ng_template_0_button_18_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r23); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.unlinkAction.emit($event)); });
2485
+ i0.ɵɵelement(1, "i", 46);
2438
2486
  i0.ɵɵpipe(2, "translate");
2439
2487
  i0.ɵɵelementEnd();
2440
2488
  } if (rf & 2) {
@@ -2444,10 +2492,10 @@ function TreeTableComponent_5_ng_template_0_button_18_Template(rf, ctx) { if (rf
2444
2492
  i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(2, 2, "Detach tag from selected items"));
2445
2493
  } }
2446
2494
  function TreeTableComponent_5_ng_template_0_button_19_Template(rf, ctx) { if (rf & 1) {
2447
- const _r22 = i0.ɵɵgetCurrentView();
2448
- i0.ɵɵelementStart(0, "button", 39);
2449
- i0.ɵɵlistener("click", function TreeTableComponent_5_ng_template_0_button_19_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r22); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.csvAction.emit($event)); });
2450
- i0.ɵɵelement(1, "i", 46);
2495
+ const _r24 = i0.ɵɵgetCurrentView();
2496
+ i0.ɵɵelementStart(0, "button", 40);
2497
+ i0.ɵɵlistener("click", function TreeTableComponent_5_ng_template_0_button_19_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.csvAction.emit($event)); });
2498
+ i0.ɵɵelement(1, "i", 47);
2451
2499
  i0.ɵɵelementEnd();
2452
2500
  } if (rf & 2) {
2453
2501
  const ctx_r2 = i0.ɵɵnextContext(3);
@@ -2455,22 +2503,22 @@ function TreeTableComponent_5_ng_template_0_button_19_Template(rf, ctx) { if (rf
2455
2503
  } }
2456
2504
  function TreeTableComponent_5_ng_template_0_button_20__svg_svg_2_Template(rf, ctx) { if (rf & 1) {
2457
2505
  i0.ɵɵnamespaceSVG();
2458
- i0.ɵɵelementStart(0, "svg", 49);
2459
- i0.ɵɵelement(1, "path", 50);
2506
+ i0.ɵɵelementStart(0, "svg", 50);
2507
+ i0.ɵɵelement(1, "path", 51);
2460
2508
  i0.ɵɵelementEnd();
2461
2509
  } }
2462
2510
  function TreeTableComponent_5_ng_template_0_button_20__svg_svg_3_Template(rf, ctx) { if (rf & 1) {
2463
2511
  i0.ɵɵnamespaceSVG();
2464
- i0.ɵɵelementStart(0, "svg", 49);
2465
- i0.ɵɵelement(1, "path", 51);
2512
+ i0.ɵɵelementStart(0, "svg", 50);
2513
+ i0.ɵɵelement(1, "path", 52);
2466
2514
  i0.ɵɵelementEnd();
2467
2515
  } }
2468
2516
  function TreeTableComponent_5_ng_template_0_button_20_Template(rf, ctx) { if (rf & 1) {
2469
- const _r23 = i0.ɵɵgetCurrentView();
2470
- i0.ɵɵelementStart(0, "button", 47);
2517
+ const _r25 = i0.ɵɵgetCurrentView();
2518
+ i0.ɵɵelementStart(0, "button", 48);
2471
2519
  i0.ɵɵpipe(1, "translate");
2472
- i0.ɵɵlistener("click", function TreeTableComponent_5_ng_template_0_button_20_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r23); const ctx_r2 = i0.ɵɵnextContext(3); const dt_r15 = i0.ɵɵreference(1); return i0.ɵɵresetView(ctx_r2.collapse($event, dt_r15)); });
2473
- i0.ɵɵtemplate(2, TreeTableComponent_5_ng_template_0_button_20__svg_svg_2_Template, 2, 0, "svg", 48)(3, TreeTableComponent_5_ng_template_0_button_20__svg_svg_3_Template, 2, 0, "svg", 48);
2520
+ i0.ɵɵlistener("click", function TreeTableComponent_5_ng_template_0_button_20_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r25); const ctx_r2 = i0.ɵɵnextContext(3); const dt_r17 = i0.ɵɵreference(1); return i0.ɵɵresetView(ctx_r2.collapse($event, dt_r17)); });
2521
+ i0.ɵɵtemplate(2, TreeTableComponent_5_ng_template_0_button_20__svg_svg_2_Template, 2, 0, "svg", 49)(3, TreeTableComponent_5_ng_template_0_button_20__svg_svg_3_Template, 2, 0, "svg", 49);
2474
2522
  i0.ɵɵelementEnd();
2475
2523
  } if (rf & 2) {
2476
2524
  const ctx_r2 = i0.ɵɵnextContext(3);
@@ -2481,21 +2529,21 @@ function TreeTableComponent_5_ng_template_0_button_20_Template(rf, ctx) { if (rf
2481
2529
  i0.ɵɵproperty("ngIf", !ctx_r2.isCollapse);
2482
2530
  } }
2483
2531
  function TreeTableComponent_5_ng_template_0_Template(rf, ctx) { if (rf & 1) {
2484
- const _r14 = i0.ɵɵgetCurrentView();
2485
- i0.ɵɵelementStart(0, "div", 26)(1, "div", 27)(2, "div", 28)(3, "form", 29)(4, "div", 30)(5, "input", 31, 1);
2532
+ const _r16 = i0.ɵɵgetCurrentView();
2533
+ i0.ɵɵelementStart(0, "div", 27)(1, "div", 28)(2, "div", 29)(3, "form", 30)(4, "div", 31)(5, "input", 32, 1);
2486
2534
  i0.ɵɵpipe(7, "translate");
2487
- i0.ɵɵlistener("input", function TreeTableComponent_5_ng_template_0_Template_input_input_5_listener($event) { i0.ɵɵrestoreView(_r14); i0.ɵɵnextContext(2); const dt_r15 = i0.ɵɵreference(1); return i0.ɵɵresetView(dt_r15.filterGlobal($event.target.value, "contains")); });
2488
- i0.ɵɵtwoWayListener("ngModelChange", function TreeTableComponent_5_ng_template_0_Template_input_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(_r14); const ctx_r2 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r2.searchText, $event) || (ctx_r2.searchText = $event); return i0.ɵɵresetView($event); });
2535
+ i0.ɵɵlistener("input", function TreeTableComponent_5_ng_template_0_Template_input_input_5_listener($event) { i0.ɵɵrestoreView(_r16); i0.ɵɵnextContext(2); const dt_r17 = i0.ɵɵreference(1); return i0.ɵɵresetView(dt_r17.filterGlobal($event.target.value, "contains")); });
2536
+ i0.ɵɵtwoWayListener("ngModelChange", function TreeTableComponent_5_ng_template_0_Template_input_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r2 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r2.searchText, $event) || (ctx_r2.searchText = $event); return i0.ɵɵresetView($event); });
2489
2537
  i0.ɵɵelementEnd();
2490
- i0.ɵɵelementStart(8, "button", 32);
2538
+ i0.ɵɵelementStart(8, "button", 33);
2491
2539
  i0.ɵɵpipe(9, "translate");
2492
- i0.ɵɵlistener("click", function TreeTableComponent_5_ng_template_0_Template_button_click_8_listener($event) { i0.ɵɵrestoreView(_r14); i0.ɵɵnextContext(2); const dt_r15 = i0.ɵɵreference(1); return i0.ɵɵresetView(dt_r15.filterGlobal($event.target.value, "contains")); });
2493
- i0.ɵɵelement(10, "i", 33);
2540
+ i0.ɵɵlistener("click", function TreeTableComponent_5_ng_template_0_Template_button_click_8_listener($event) { i0.ɵɵrestoreView(_r16); i0.ɵɵnextContext(2); const dt_r17 = i0.ɵɵreference(1); return i0.ɵɵresetView(dt_r17.filterGlobal($event.target.value, "contains")); });
2541
+ i0.ɵɵelement(10, "i", 34);
2494
2542
  i0.ɵɵelementEnd()()()();
2495
- i0.ɵɵelementStart(11, "div", 34)(12, "in-table-columns-multiselect", 35);
2496
- i0.ɵɵlistener("columnsChange", function TreeTableComponent_5_ng_template_0_Template_in_table_columns_multiselect_columnsChange_12_listener($event) { i0.ɵɵrestoreView(_r14); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.columnsChange($event)); });
2543
+ i0.ɵɵelementStart(11, "div", 35)(12, "in-table-columns-multiselect", 36);
2544
+ i0.ɵɵlistener("columnsChange", function TreeTableComponent_5_ng_template_0_Template_in_table_columns_multiselect_columnsChange_12_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.columnsChange($event)); });
2497
2545
  i0.ɵɵelementEnd()();
2498
- i0.ɵɵtemplate(13, TreeTableComponent_5_ng_template_0_button_13_Template, 2, 2, "button", 36)(14, TreeTableComponent_5_ng_template_0_button_14_Template, 2, 2, "button", 36)(15, TreeTableComponent_5_ng_template_0_button_15_Template, 4, 7, "button", 37)(16, TreeTableComponent_5_ng_template_0_button_16_Template, 3, 4, "button", 36)(17, TreeTableComponent_5_ng_template_0_button_17_Template, 2, 2, "button", 36)(18, TreeTableComponent_5_ng_template_0_button_18_Template, 3, 4, "button", 36)(19, TreeTableComponent_5_ng_template_0_button_19_Template, 2, 1, "button", 36)(20, TreeTableComponent_5_ng_template_0_button_20_Template, 4, 5, "button", 38);
2546
+ i0.ɵɵtemplate(13, TreeTableComponent_5_ng_template_0_button_13_Template, 2, 2, "button", 37)(14, TreeTableComponent_5_ng_template_0_button_14_Template, 2, 2, "button", 37)(15, TreeTableComponent_5_ng_template_0_button_15_Template, 4, 7, "button", 38)(16, TreeTableComponent_5_ng_template_0_button_16_Template, 3, 4, "button", 37)(17, TreeTableComponent_5_ng_template_0_button_17_Template, 2, 2, "button", 37)(18, TreeTableComponent_5_ng_template_0_button_18_Template, 3, 4, "button", 37)(19, TreeTableComponent_5_ng_template_0_button_19_Template, 2, 1, "button", 37)(20, TreeTableComponent_5_ng_template_0_button_20_Template, 4, 5, "button", 39);
2499
2547
  i0.ɵɵelementEnd()();
2500
2548
  } if (rf & 2) {
2501
2549
  const ctx_r2 = i0.ɵɵnextContext(2);
@@ -2525,12 +2573,11 @@ function TreeTableComponent_5_ng_template_0_Template(rf, ctx) { if (rf & 1) {
2525
2573
  i0.ɵɵproperty("ngIf", ctx_r2.toolbar.collapse);
2526
2574
  } }
2527
2575
  function TreeTableComponent_5_Template(rf, ctx) { if (rf & 1) {
2528
- i0.ɵɵtemplate(0, TreeTableComponent_5_ng_template_0_Template, 21, 18, "ng-template", 25);
2576
+ i0.ɵɵtemplate(0, TreeTableComponent_5_ng_template_0_Template, 21, 18, "ng-template", 26);
2529
2577
  } }
2530
2578
  class TreeTableComponent {
2531
2579
  constructor() {
2532
2580
  this.columns = [];
2533
- this.values = [];
2534
2581
  this.selectionMode = null;
2535
2582
  this.checkboxSelection = true;
2536
2583
  this.activeChange = new EventEmitter();
@@ -2547,6 +2594,37 @@ class TreeTableComponent {
2547
2594
  this.isCollapse = true;
2548
2595
  this._selection = null;
2549
2596
  this._selectionSet = new Set();
2597
+ /** Map: dataKey → TreeNode (built from values for O(1) lookups) */
2598
+ this._nodeMap = new Map();
2599
+ this._values = [];
2600
+ }
2601
+ _buildNodeMap() {
2602
+ this._nodeMap = new Map();
2603
+ const key = this.dataKey || 'id';
2604
+ const visit = (node) => {
2605
+ const k = node?.data?.[key];
2606
+ if (k !== undefined) {
2607
+ this._nodeMap.set(k, node);
2608
+ }
2609
+ (node?.children || []).forEach(visit);
2610
+ };
2611
+ (this.values || []).forEach(visit);
2612
+ }
2613
+ /** All descendant data-keys of a node */
2614
+ _descendantKeys(node) {
2615
+ const key = this.dataKey || 'id';
2616
+ const result = [];
2617
+ const collect = (n) => {
2618
+ (n?.children || []).forEach((c) => {
2619
+ const k = c?.data?.[key];
2620
+ if (k !== undefined) {
2621
+ result.push(k);
2622
+ }
2623
+ collect(c);
2624
+ });
2625
+ };
2626
+ collect(node);
2627
+ return result;
2550
2628
  }
2551
2629
  _rebuildSelectionSet(val) {
2552
2630
  this._selectionSet = new Set();
@@ -2560,29 +2638,104 @@ class TreeTableComponent {
2560
2638
  }
2561
2639
  }
2562
2640
  }
2563
- _isRowSelected(rowNode) {
2641
+ /** True if some (not all) descendants are selected → show indeterminate (-) */
2642
+ _isIndeterminate(rowData) {
2564
2643
  const key = this.dataKey || 'id';
2565
- const data = rowNode?.data ?? rowNode;
2566
- return this._selectionSet.has(data?.[key] ?? data);
2644
+ const node = this._nodeMap.get(rowData?.[key]);
2645
+ if (!node?.children?.length) {
2646
+ return false;
2647
+ }
2648
+ const descKeys = this._descendantKeys(node);
2649
+ if (!descKeys.length) {
2650
+ return false;
2651
+ }
2652
+ const selectedCount = descKeys.filter(k => this._selectionSet.has(k)).length;
2653
+ return selectedCount > 0 && selectedCount < descKeys.length;
2567
2654
  }
2568
- _onCheckboxChange(event, rowNode) {
2655
+ _isAllSelected() {
2656
+ if (!this.values || this.values.length === 0) {
2657
+ return false;
2658
+ }
2659
+ return this._selectionSet.size >= this.values.length;
2660
+ }
2661
+ _onHeaderCheckboxChange(event) {
2569
2662
  const checked = event.target.checked;
2570
2663
  const key = this.dataKey || 'id';
2571
- const data = rowNode?.data ?? rowNode;
2572
- const rowKey = data?.[key] ?? data;
2573
2664
  if (checked) {
2665
+ this._selectionSet = new Set((this.values || []).flatMap(node => this._flattenTree(node)).map(row => row?.[key] ?? row));
2666
+ this._selection = (this.values || []).flatMap(node => this._flattenTreeNodes(node));
2667
+ }
2668
+ else {
2669
+ this._selectionSet = new Set();
2670
+ this._selection = [];
2671
+ }
2672
+ this.selectionValue = this._selection;
2673
+ }
2674
+ _flattenTree(node) {
2675
+ const key = this.dataKey || 'id';
2676
+ const data = node?.data ?? node;
2677
+ const result = [data];
2678
+ if (node?.children?.length) {
2679
+ for (const child of node.children) {
2680
+ result.push(...this._flattenTree(child));
2681
+ }
2682
+ }
2683
+ return result;
2684
+ }
2685
+ _flattenTreeNodes(node) {
2686
+ const result = [node];
2687
+ if (node?.children?.length) {
2688
+ for (const child of node.children) {
2689
+ result.push(...this._flattenTreeNodes(child));
2690
+ }
2691
+ }
2692
+ return result;
2693
+ }
2694
+ /** rowData = plain data object from template let-rowData="rowData" */
2695
+ _isRowSelected(rowData) {
2696
+ const key = this.dataKey || 'id';
2697
+ return this._selectionSet.has(rowData?.[key] ?? rowData);
2698
+ }
2699
+ /** rowNode = PrimeNG TreeNode (for selection state), rowData = plain data (for key lookup) */
2700
+ _onCheckboxChange(event, rowNode, rowData) {
2701
+ const checked = event.target.checked;
2702
+ const key = this.dataKey || 'id';
2703
+ const rowKey = rowData?.[key] ?? rowData;
2704
+ const node = this._nodeMap.get(rowKey);
2705
+ const descKeys = node ? this._descendantKeys(node) : [];
2706
+ if (checked) {
2707
+ // Select this node + all descendants
2574
2708
  this._selectionSet.add(rowKey);
2575
- this._selection = [...(this._selection || []), rowNode];
2709
+ descKeys.forEach(k => this._selectionSet.add(k));
2710
+ const keysToAdd = new Set([rowKey, ...descKeys]);
2711
+ const existing = new Set((this._selection || []).map((i) => (i?.data ?? i)?.[key]));
2712
+ const toAdd = [];
2713
+ keysToAdd.forEach(k => {
2714
+ if (!existing.has(k)) {
2715
+ const n = this._nodeMap.get(k);
2716
+ if (n) {
2717
+ toAdd.push(n);
2718
+ }
2719
+ }
2720
+ });
2721
+ this._selection = [...(this._selection || []), ...toAdd];
2576
2722
  }
2577
2723
  else {
2578
- this._selectionSet.delete(rowKey);
2724
+ // Deselect this node + all descendants
2725
+ const keysToRemove = new Set([rowKey, ...descKeys]);
2726
+ keysToRemove.forEach(k => this._selectionSet.delete(k));
2579
2727
  this._selection = (this._selection || []).filter((item) => {
2580
2728
  const d = item?.data ?? item;
2581
- return (d?.[key] ?? d) !== rowKey;
2729
+ return !keysToRemove.has(d?.[key] ?? d);
2582
2730
  });
2583
2731
  }
2584
2732
  this.selectionValue = this._selection;
2585
2733
  }
2734
+ set values(val) {
2735
+ this._values = val;
2736
+ this._buildNodeMap();
2737
+ }
2738
+ get values() { return this._values; }
2586
2739
  set selection(val) {
2587
2740
  this._selection = val;
2588
2741
  this._rebuildSelectionSet(val);
@@ -2684,7 +2837,7 @@ class TreeTableComponent {
2684
2837
  } if (rf & 2) {
2685
2838
  let _t;
2686
2839
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);
2687
- } }, inputs: { columns: "columns", values: "values", scrollHeight: "scrollHeight", scrollable: "scrollable", selectionMode: "selectionMode", label: "label", error: "error", class: "class", required: "required", style: "style", toolbar: "toolbar", checkboxSelection: "checkboxSelection", active: "active", sortField: "sortField", isAscending: "isAscending", dataKey: "dataKey", selection: "selection" }, outputs: { activeChange: "activeChange", selectionChange: "selectionChange", addAction: "addAction", csvAction: "csvAction", saveAction: "saveAction", collapseAction: "collapseAction", removeAction: "removeAction", unlinkAction: "unlinkAction", groupEditAction: "groupEditAction", groupAddAction: "groupAddAction" }, standalone: false, decls: 6, vars: 14, consts: [["dt", ""], ["searchTextInput", ""], ["columnResizeMode", "expand", 3, "selectionChange", "selection", "columns", "resizableColumns", "scrollHeight", "scrollable", "selectionMode", "sortField", "sortOrder", "value"], ["pTemplate", "colgroup"], ["pTemplate", "header"], ["pTemplate", "body"], [4, "ngIf"], ["style", "width:44px;", 4, "ngIf"], [3, "width", 4, "ngFor", "ngForOf"], [2, "width", "44px"], ["class", "u-position-relative", "ttResizableColumn", "", 3, "ttSortableColumn", 4, "ngFor", "ngForOf"], ["ttResizableColumn", "", 1, "u-position-relative", 3, "ttSortableColumn"], [1, "p-treetable-thead-title", 3, "title"], [1, "p-sortable-column-buttons", 3, "field"], [1, "row", 3, "ngClass", "ttSelectableRow"], ["class", "_u-overflow-visible", 3, "click", 4, "ngFor", "ngForOf"], ["type", "checkbox", 1, "in-table-checkbox", 3, "change", "click", "checked"], [1, "_u-overflow-visible", 3, "click"], [1, "", 2, "display", "flex", "flex-wrap", "nowrap"], [3, "ngIf"], [1, "p-treetable-tbody-content", "cell-content_hover", 2, "flex-grow", "1", 3, "ngClass", "title"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [2, "align-self", "center", 3, "rowNode"], ["class", "u-margin-right-tiny", 3, "ngClass", 4, "ngIf"], [1, "u-margin-right-tiny", 3, "ngClass"], ["pTemplate", "caption"], [1, "o-grid", "o-grid_no-gutter"], [1, "c-tree-table__toolbar-content", "u-display-inline-flex"], [1, "c-form", "c-form_inline", "u-display-inline-block"], [1, "c-label"], [1, "input-wrapper", "u-margin-right-tiny"], ["autofocus", "", "pInputText", "", "required", "", "tabindex", "1", "type", "search", 1, "search-box", "c-input", "c-input_small", "ng-pristine", "ng-valid", "ng-scope", "ng-empty", "ng-touched", 2, "padding-right", "28px", 3, "input", "ngModelChange", "ngModel", "ngModelOptions", "placeholder"], ["type", "reset", 1, "button-reset", 3, "click"], [1, "in", "in-close"], [1, "c-btn", "c-btn_border-free", "c-btn_small"], [3, "columnsChange", "columns"], ["class", "c-btn c-btn_border-free c-btn_small", 3, "disabled", "click", 4, "ngIf"], ["class", "c-btn c-btn_primary c-btn_small", 3, "disabled", "title", "click", 4, "ngIf"], ["class", "c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free", 3, "title", "click", 4, "ngIf"], [1, "c-btn", "c-btn_border-free", "c-btn_small", 3, "click", "disabled"], [1, "in", "in-plus", 3, "title"], [1, "in", "in-folder-closed", 3, "title"], [1, "c-btn", "c-btn_primary", "c-btn_small", 3, "click", "disabled", "title"], [1, "in", "in-pencil", 3, "title"], [1, "in", "in-trash", 3, "title"], [1, "in", "in-link-off", 3, "title"], ["title", "\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043A\u0430\u043A CSV", 1, "in", "in-file-excel-outline"], [1, "c-btn", "c-btn_small", "c-btn_svg-24", "c-icon", "c-icon_svg", "c-icon_svg-24", "c-btn_border-free", 3, "click", "title"], ["xmlns", "http://www.w3.org/2000/svg", "width", "24", "height", "24", "fill", "currentColor", "viewBox", "0 0 24 24", 4, "ngIf"], ["xmlns", "http://www.w3.org/2000/svg", "width", "24", "height", "24", "fill", "currentColor", "viewBox", "0 0 24 24"], ["d", "M20 2H4v2h16V2zM4 20v2h16v-2H4zM12 5l5 6H7l5-6zM17 13l-5 6-5-6h10z"], ["fill-rule", "evenodd", "d", "M17 3l-5 6-5-6h10zM4 13v-2h16v2H4zm8 2l5 6H7l5-6z", "clip-rule", "evenodd"]], template: function TreeTableComponent_Template(rf, ctx) { if (rf & 1) {
2840
+ } }, inputs: { columns: "columns", scrollHeight: "scrollHeight", scrollable: "scrollable", selectionMode: "selectionMode", label: "label", error: "error", class: "class", required: "required", style: "style", toolbar: "toolbar", checkboxSelection: "checkboxSelection", active: "active", sortField: "sortField", isAscending: "isAscending", dataKey: "dataKey", values: "values", selection: "selection" }, outputs: { activeChange: "activeChange", selectionChange: "selectionChange", addAction: "addAction", csvAction: "csvAction", saveAction: "saveAction", collapseAction: "collapseAction", removeAction: "removeAction", unlinkAction: "unlinkAction", groupEditAction: "groupEditAction", groupAddAction: "groupAddAction" }, standalone: false, decls: 6, vars: 14, consts: [["dt", ""], ["searchTextInput", ""], ["columnResizeMode", "expand", 3, "selectionChange", "selection", "columns", "resizableColumns", "scrollHeight", "scrollable", "selectionMode", "sortField", "sortOrder", "value"], ["pTemplate", "colgroup"], ["pTemplate", "header"], ["pTemplate", "body"], [4, "ngIf"], ["style", "width:44px;", 4, "ngIf"], [3, "width", 4, "ngFor", "ngForOf"], [2, "width", "44px"], ["class", "u-position-relative", "ttResizableColumn", "", 3, "ttSortableColumn", 4, "ngFor", "ngForOf"], ["type", "checkbox", 1, "in-table-checkbox", 3, "change", "click", "checked"], ["ttResizableColumn", "", 1, "u-position-relative", 3, "ttSortableColumn"], [1, "p-treetable-thead-title", 3, "title"], [1, "p-sortable-column-buttons", 3, "field"], [1, "row", 3, "ngClass", "ttSelectableRow"], ["class", "_u-overflow-visible", 3, "click", 4, "ngFor", "ngForOf"], ["type", "checkbox", 1, "in-table-checkbox", 3, "change", "click", "checked", "indeterminate"], [1, "_u-overflow-visible", 3, "click"], [1, "", 2, "display", "flex", "flex-wrap", "nowrap"], [3, "ngIf"], [1, "p-treetable-tbody-content", "cell-content_hover", 2, "flex-grow", "1", 3, "ngClass", "title"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [2, "align-self", "center", 3, "rowNode"], ["class", "u-margin-right-tiny", 3, "ngClass", 4, "ngIf"], [1, "u-margin-right-tiny", 3, "ngClass"], ["pTemplate", "caption"], [1, "o-grid", "o-grid_no-gutter"], [1, "c-tree-table__toolbar-content", "u-display-inline-flex"], [1, "c-form", "c-form_inline", "u-display-inline-block"], [1, "c-label"], [1, "input-wrapper", "u-margin-right-tiny"], ["autofocus", "", "pInputText", "", "required", "", "tabindex", "1", "type", "search", 1, "search-box", "c-input", "c-input_small", "ng-pristine", "ng-valid", "ng-scope", "ng-empty", "ng-touched", 2, "padding-right", "28px", 3, "input", "ngModelChange", "ngModel", "ngModelOptions", "placeholder"], ["type", "reset", 1, "button-reset", 3, "click"], [1, "in", "in-close"], [1, "c-btn", "c-btn_border-free", "c-btn_small"], [3, "columnsChange", "columns"], ["class", "c-btn c-btn_border-free c-btn_small", 3, "disabled", "click", 4, "ngIf"], ["class", "c-btn c-btn_primary c-btn_small", 3, "disabled", "title", "click", 4, "ngIf"], ["class", "c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free", 3, "title", "click", 4, "ngIf"], [1, "c-btn", "c-btn_border-free", "c-btn_small", 3, "click", "disabled"], [1, "in", "in-plus", 3, "title"], [1, "in", "in-folder-closed", 3, "title"], [1, "c-btn", "c-btn_primary", "c-btn_small", 3, "click", "disabled", "title"], [1, "in", "in-pencil", 3, "title"], [1, "in", "in-trash", 3, "title"], [1, "in", "in-link-off", 3, "title"], ["title", "\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043A\u0430\u043A CSV", 1, "in", "in-file-excel-outline"], [1, "c-btn", "c-btn_small", "c-btn_svg-24", "c-icon", "c-icon_svg", "c-icon_svg-24", "c-btn_border-free", 3, "click", "title"], ["xmlns", "http://www.w3.org/2000/svg", "width", "24", "height", "24", "fill", "currentColor", "viewBox", "0 0 24 24", 4, "ngIf"], ["xmlns", "http://www.w3.org/2000/svg", "width", "24", "height", "24", "fill", "currentColor", "viewBox", "0 0 24 24"], ["d", "M20 2H4v2h16V2zM4 20v2h16v-2H4zM12 5l5 6H7l5-6zM17 13l-5 6-5-6h10z"], ["fill-rule", "evenodd", "d", "M17 3l-5 6-5-6h10zM4 13v-2h16v2H4zm8 2l5 6H7l5-6z", "clip-rule", "evenodd"]], template: function TreeTableComponent_Template(rf, ctx) { if (rf & 1) {
2688
2841
  const _r1 = i0.ɵɵgetCurrentView();
2689
2842
  i0.ɵɵelementStart(0, "p-treeTable", 2, 0);
2690
2843
  i0.ɵɵtwoWayListener("selectionChange", function TreeTableComponent_Template_p_treeTable_selectionChange_0_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.selectionValue, $event) || (ctx.selectionValue = $event); return i0.ɵɵresetView($event); });
@@ -2697,15 +2850,13 @@ class TreeTableComponent {
2697
2850
  i0.ɵɵproperty("columns", ctx.visibleColumns())("resizableColumns", true)("scrollHeight", ctx.scrollHeight)("scrollable", ctx.scrollable)("selectionMode", ctx.selectionMode)("sortField", ctx.sortField || "id")("sortOrder", ctx.isAscending ? 1 : -1)("value", ctx.values);
2698
2851
  i0.ɵɵadvance(5);
2699
2852
  i0.ɵɵproperty("ngIf", ctx.toolbar);
2700
- } }, dependencies: [i1$2.NgClass, i1$2.NgForOf, i1$2.NgIf, i1$2.NgTemplateOutlet, i2$4.TreeTable, i2.PrimeTemplate, i2$4.TreeTableToggler, i2$4.TTSortableColumn, i2$4.TTSortIcon, i2$4.TTResizableColumn, i2$4.TTSelectableRow, i2$4.TTHeaderCheckbox, i2$1.ɵNgNoValidate, i2$1.DefaultValueAccessor, i2$1.NgControlStatus, i2$1.NgControlStatusGroup, i2$1.RequiredValidator, i2$1.NgModel, i2$1.NgForm, TableColumnsMultiselectComponent, PropertyValuePipe, i1.TranslatePipe], styles: ["@charset \"UTF-8\";.p-sortable-column[_ngcontent-%COMP%]{cursor:pointer;position:relative}.p-sortable-column-buttons[_ngcontent-%COMP%]{position:absolute;top:0;right:0;width:18px;height:100%;display:inline-flex;align-items:center;z-index:10000}.p-sortable-column-buttons[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{position:absolute;top:50%;right:0;left:0;transform:translateY(-50%)}.u-overflow-visible[_ngcontent-%COMP%]{overflow:visible!important}.button-reset[_ngcontent-%COMP%]{display:flex;align-items:center;position:absolute;right:6px;top:5px;padding:6px;font-size:15px;border:none;outline:0;cursor:pointer;color:var(--colorTextMuted);background-color:transparent}.button-reset[_ngcontent-%COMP%]:hover{color:var(--colorIcon)}.input-wrapper[_ngcontent-%COMP%]{position:relative;display:flex;align-items:baseline}.c-input[_ngcontent-%COMP%]:not(:valid) ~ .button-reset[_ngcontent-%COMP%]{display:none}"] }); }
2853
+ } }, dependencies: [i1$2.NgClass, i1$2.NgForOf, i1$2.NgIf, i1$2.NgTemplateOutlet, i2$4.TreeTable, i2.PrimeTemplate, i2$4.TreeTableToggler, i2$4.TTSortableColumn, i2$4.TTSortIcon, i2$4.TTResizableColumn, i2$4.TTSelectableRow, i2$1.ɵNgNoValidate, i2$1.DefaultValueAccessor, i2$1.NgControlStatus, i2$1.NgControlStatusGroup, i2$1.RequiredValidator, i2$1.NgModel, i2$1.NgForm, TableColumnsMultiselectComponent, PropertyValuePipe, i1.TranslatePipe], styles: ["@charset \"UTF-8\";.p-sortable-column[_ngcontent-%COMP%]{cursor:pointer;position:relative}.in-table-checkbox[_ngcontent-%COMP%]{appearance:none;-webkit-appearance:none;width:var(--p-checkbox-width, 20px);height:var(--p-checkbox-height, 20px);border:1px solid var(--p-checkbox-border-color, #B3B3B3);border-radius:var(--p-checkbox-border-radius, 2px);background:var(--p-checkbox-background, transparent);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;flex-shrink:0;transition:border-color var(--p-checkbox-transition-duration, .15s),background var(--p-checkbox-transition-duration, .15s)}.in-table-checkbox[_ngcontent-%COMP%]:checked{background:var(--p-checkbox-checked-background, #387382);border-color:var(--p-checkbox-checked-border-color, #387382)}.in-table-checkbox[_ngcontent-%COMP%]:checked:after{content:\"\";display:block;width:var(--p-checkbox-icon-size, 14px);height:var(--p-checkbox-icon-size, 14px);background-color:var(--p-checkbox-icon-checked-color, #ffffff);mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='currentColor' d='M5.25 10.15l-2.8-2.8-.7.7 3.5 3.5 7.5-7.5-.7-.7z'/%3E%3C/svg%3E\");-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='currentColor' d='M5.25 10.15l-2.8-2.8-.7.7 3.5 3.5 7.5-7.5-.7-.7z'/%3E%3C/svg%3E\");mask-size:contain;-webkit-mask-size:contain;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-position:center;-webkit-mask-position:center}.in-table-checkbox[_ngcontent-%COMP%]:indeterminate{background:var(--p-checkbox-checked-background, #387382);border-color:var(--p-checkbox-checked-border-color, #387382)}.in-table-checkbox[_ngcontent-%COMP%]:indeterminate:after{content:\"\";display:block;width:calc(var(--p-checkbox-icon-size, 14px) - 2px);height:2px;background-color:var(--p-checkbox-icon-checked-color, #ffffff);margin:auto}.in-table-checkbox[_ngcontent-%COMP%]:hover:not(:checked):not(:indeterminate){border-color:var(--p-checkbox-hover-border-color, #999999)}.p-sortable-column-buttons[_ngcontent-%COMP%]{position:absolute;top:0;right:0;width:18px;height:100%;display:inline-flex;align-items:center;z-index:10000}.p-sortable-column-buttons[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{position:absolute;top:50%;right:0;left:0;transform:translateY(-50%)}.u-overflow-visible[_ngcontent-%COMP%]{overflow:visible!important}.button-reset[_ngcontent-%COMP%]{display:flex;align-items:center;position:absolute;right:6px;top:5px;padding:6px;font-size:15px;border:none;outline:0;cursor:pointer;color:var(--colorTextMuted);background-color:transparent}.button-reset[_ngcontent-%COMP%]:hover{color:var(--colorIcon)}.input-wrapper[_ngcontent-%COMP%]{position:relative;display:flex;align-items:baseline}.c-input[_ngcontent-%COMP%]:not(:valid) ~ .button-reset[_ngcontent-%COMP%]{display:none}"] }); }
2701
2854
  }
2702
2855
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TreeTableComponent, [{
2703
2856
  type: Component,
2704
- args: [{ standalone: false, selector: 'in-tree-table', template: "<p-treeTable #dt\r\n [(selection)]=\"selectionValue\"\r\n [class]=\"class\"\r\n [columns]=\"visibleColumns()\"\r\n [resizableColumns]=\"true\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [scrollable]=\"scrollable\"\r\n [selectionMode]=\"selectionMode\"\r\n [sortField]=\"sortField || 'id'\"\r\n [sortOrder]=\"isAscending ? 1 : -1\"\r\n [style]=\"style\"\r\n [value]=\"values\"\r\n columnResizeMode=\"expand\"\r\n>\r\n <ng-template let-columns pTemplate=\"colgroup\">\r\n <colgroup>\r\n <col *ngIf=\"checkboxSelection\" style=\"width:44px;\">\r\n <col *ngFor=\"let col of visibleColumns()\" [style.width]=\"col.width ? col.width : '10px'\">\r\n </colgroup>\r\n </ng-template>\r\n <ng-template let-columns pTemplate=\"header\">\r\n <tr>\r\n <th *ngIf=\"checkboxSelection\">\r\n <p-treeTableHeaderCheckbox></p-treeTableHeaderCheckbox>\r\n </th>\r\n <th *ngFor=\"let col of columns; let i = index\" [ttSortableColumn]=\"col.field\" class=\"u-position-relative\"\r\n ttResizableColumn>\r\n <div class=\"p-treetable-thead-title\" title=\"{{col.label | translate}}\">\r\n {{col.label | translate}}\r\n </div>\r\n <p-treeTableSortIcon [field]=\"col.field\" class=\"p-sortable-column-buttons\"></p-treeTableSortIcon>\r\n </th>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template let-columns=\"columns\" let-rowData=\"rowData\" let-rowNode pTemplate=\"body\">\r\n <tr [ngClass]=\"{row_active: isRowActive(rowData)}\" [ttSelectableRow]=\"rowNode\" class=\"row\">\r\n <td *ngIf=\"checkboxSelection\">\r\n <input type=\"checkbox\"\r\n class=\"in-table-checkbox\"\r\n [checked]=\"_isRowSelected(rowNode)\"\r\n (change)=\"_onCheckboxChange($event, rowNode)\"\r\n (click)=\"$event.stopPropagation()\"\r\n >\r\n </td>\r\n <td (click)=\"activeChange.emit(rowData)\" *ngFor=\"let col of columns; let i = index\"\r\n class=\"_u-overflow-visible\">\r\n <div class=\"\" style=\"display: flex; flex-wrap: nowrap;\">\r\n <ng-template [ngIf]=\"i == 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" style=\"align-self: center;\"></p-treeTableToggler>\r\n </ng-template>\r\n <div [ngClass]=\"{ 'p-treetable-tbody-content_has-toggler ': i == 0 }\"\r\n class=\"p-treetable-tbody-content cell-content_hover\"\r\n style=\"flex-grow: 1;\"\r\n title=\"{{rowData | propertyValue: col.field}}\">\r\n <ng-container *ngIf=\"!valueTemplate\">\r\n <i *ngIf=\"rowData.icon && i == 0\" [ngClass]=\"rowData.icon\" class=\"u-margin-right-tiny\"></i>\r\n {{rowData | propertyValue: col.field}}\r\n </ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"valueTemplate; context: {$implicit: { data: rowData, col: col}}\"></ng-container>\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"toolbar\" pTemplate=\"caption\">\r\n\r\n <div class=\"o-grid o-grid_no-gutter\">\r\n <div class=\"c-tree-table__toolbar-content u-display-inline-flex\">\r\n <div class=\"c-form c-form_inline u-display-inline-block\">\r\n <form class=\"c-label\">\r\n <div class=\"input-wrapper u-margin-right-tiny\">\r\n <input #searchTextInput\r\n (input)=\"dt.filterGlobal($any($event.target).value, 'contains')\"\r\n [(ngModel)]=\"searchText\"\r\n [ngModelOptions]=\"{standalone: true}\"\r\n autofocus=\"\"\r\n class=\"search-box c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\r\n pInputText\r\n placeholder=\"{{('SHARED.SEARCH' | translate) + ':'}}\"\r\n required\r\n style=\"padding-right: 28px\"\r\n tabindex=\"1\"\r\n type=\"search\"\r\n >\r\n <button (click)=\"dt.filterGlobal($any($event.target).value, 'contains')\" class=\"button-reset\" type=\"reset\"\r\n [attr.title]=\"'Reset' | translate\">\r\n <i class=\"in in-close\"></i>\r\n </button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"c-btn c-btn_border-free c-btn_small\">\r\n <in-table-columns-multiselect (columnsChange)=\"columnsChange($event)\"\r\n [columns]=\"columns\"></in-table-columns-multiselect>\r\n </div>\r\n\r\n <button (click)=\"addAction.emit($event)\" *ngIf=\"toolbar.add\" [disabled]=\"toolbar.add.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-plus\" [title]=\"toolbar.add.title || '\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C'\"></i>\r\n </button>\r\n\r\n <button (click)=\"groupAddAction.emit($event)\" *ngIf=\"toolbar.groupAdd\" [disabled]=\"toolbar.groupAdd.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-folder-closed\" [title]=\"toolbar.groupAdd.title || '\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0433\u0440\u0443\u043F\u043F\u0443'\"></i>\r\n </button>\r\n\r\n\r\n <button (click)=\"saveAction.emit($event)\" *ngIf=\"toolbar.save\"\r\n [disabled]=\"toolbar.save.disabled\"\r\n class=\"c-btn c-btn_primary c-btn_small\"\r\n title=\"{{'Save' | translate}}\"\r\n >\r\n {{'Save' | translate}}\r\n </button>\r\n <button (click)=\"groupEditAction.emit($event)\" *ngIf=\"toolbar.groupEdit && toolbar.groupEdit.active\"\r\n [disabled]=\"toolbar.groupEdit.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-pencil\" title=\"{{'groupEdit' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"removeAction.emit($event)\" *ngIf=\"toolbar.remove && toolbar.remove.active\"\r\n [disabled]=\"toolbar.remove.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-trash\" [title]=\"toolbar.remove?.title || '\u0423\u0434\u0430\u043B\u0438\u0442\u044C'\"></i>\r\n </button>\r\n <button (click)=\"unlinkAction.emit($event)\" *ngIf=\"toolbar.unlink\" [disabled]=\"toolbar.unlink.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-link-off\" title=\"{{'Detach tag from selected items' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"csvAction.emit($event)\" *ngIf=\"toolbar.csv\" [disabled]=\"toolbar.csv.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n<!-- Todo: \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u043D\u0430 in-file-csv-->\r\n <i class=\"in in-file-excel-outline\" title=\"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043A\u0430\u043A CSV\"></i>\r\n </button>\r\n <button *ngIf=\"toolbar.collapse\"\r\n class=\"c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free\"\r\n (click)=\"collapse($event, dt)\"\r\n title=\"{{(isCollapse ? 'Expand all' : 'Collapse all') | translate}}\">\r\n <svg *ngIf=\"isCollapse\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path d=\"M20 2H4v2h16V2zM4 20v2h16v-2H4zM12 5l5 6H7l5-6zM17 13l-5 6-5-6h10z\"/>\r\n </svg>\r\n <svg *ngIf=\"!isCollapse\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path fill-rule=\"evenodd\" d=\"M17 3l-5 6-5-6h10zM4 13v-2h16v2H4zm8 2l5 6H7l5-6z\" clip-rule=\"evenodd\"/>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</p-treeTable>\r\n", styles: ["@charset \"UTF-8\";.p-sortable-column{cursor:pointer;position:relative}.p-sortable-column-buttons{position:absolute;top:0;right:0;width:18px;height:100%;display:inline-flex;align-items:center;z-index:10000}.p-sortable-column-buttons>a{position:absolute;top:50%;right:0;left:0;transform:translateY(-50%)}.u-overflow-visible{overflow:visible!important}.button-reset{display:flex;align-items:center;position:absolute;right:6px;top:5px;padding:6px;font-size:15px;border:none;outline:0;cursor:pointer;color:var(--colorTextMuted);background-color:transparent}.button-reset:hover{color:var(--colorIcon)}.input-wrapper{position:relative;display:flex;align-items:baseline}.c-input:not(:valid)~.button-reset{display:none}\n"] }]
2857
+ args: [{ standalone: false, selector: 'in-tree-table', template: "<p-treeTable #dt\r\n [(selection)]=\"selectionValue\"\r\n [class]=\"class\"\r\n [columns]=\"visibleColumns()\"\r\n [resizableColumns]=\"true\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [scrollable]=\"scrollable\"\r\n [selectionMode]=\"selectionMode\"\r\n [sortField]=\"sortField || 'id'\"\r\n [sortOrder]=\"isAscending ? 1 : -1\"\r\n [style]=\"style\"\r\n [value]=\"values\"\r\n columnResizeMode=\"expand\"\r\n>\r\n <ng-template let-columns pTemplate=\"colgroup\">\r\n <colgroup>\r\n <col *ngIf=\"checkboxSelection\" style=\"width:44px;\">\r\n <col *ngFor=\"let col of visibleColumns()\" [style.width]=\"col.width ? col.width : '10px'\">\r\n </colgroup>\r\n </ng-template>\r\n <ng-template let-columns pTemplate=\"header\">\r\n <tr>\r\n <th *ngIf=\"checkboxSelection\">\r\n <input type=\"checkbox\"\r\n class=\"in-table-checkbox\"\r\n [checked]=\"_isAllSelected()\"\r\n (change)=\"_onHeaderCheckboxChange($event)\"\r\n (click)=\"$event.stopPropagation()\"\r\n >\r\n </th>\r\n <th *ngFor=\"let col of columns; let i = index\" [ttSortableColumn]=\"col.field\" class=\"u-position-relative\"\r\n ttResizableColumn>\r\n <div class=\"p-treetable-thead-title\" title=\"{{col.label | translate}}\">\r\n {{col.label | translate}}\r\n </div>\r\n <p-treeTableSortIcon [field]=\"col.field\" class=\"p-sortable-column-buttons\"></p-treeTableSortIcon>\r\n </th>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template let-columns=\"columns\" let-rowData=\"rowData\" let-rowNode pTemplate=\"body\">\r\n <tr [ngClass]=\"{row_active: isRowActive(rowData)}\" [ttSelectableRow]=\"rowNode\" class=\"row\">\r\n <td *ngIf=\"checkboxSelection\">\r\n <!-- rowData = plain data; rowNode = PrimeNG wrapper used for selection cascade -->\r\n <input type=\"checkbox\"\r\n class=\"in-table-checkbox\"\r\n [checked]=\"_isRowSelected(rowData)\"\r\n [indeterminate]=\"_isIndeterminate(rowData)\"\r\n (change)=\"_onCheckboxChange($event, rowNode, rowData)\"\r\n (click)=\"$event.stopPropagation()\"\r\n >\r\n </td>\r\n <td (click)=\"activeChange.emit(rowData)\" *ngFor=\"let col of columns; let i = index\"\r\n class=\"_u-overflow-visible\">\r\n <div class=\"\" style=\"display: flex; flex-wrap: nowrap;\">\r\n <ng-template [ngIf]=\"i == 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" style=\"align-self: center;\"></p-treeTableToggler>\r\n </ng-template>\r\n <div [ngClass]=\"{ 'p-treetable-tbody-content_has-toggler ': i == 0 }\"\r\n class=\"p-treetable-tbody-content cell-content_hover\"\r\n style=\"flex-grow: 1;\"\r\n title=\"{{rowData | propertyValue: col.field}}\">\r\n <ng-container *ngIf=\"!valueTemplate\">\r\n <i *ngIf=\"rowData.icon && i == 0\" [ngClass]=\"rowData.icon\" class=\"u-margin-right-tiny\"></i>\r\n {{rowData | propertyValue: col.field}}\r\n </ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"valueTemplate; context: {$implicit: { data: rowData, col: col}}\"></ng-container>\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"toolbar\" pTemplate=\"caption\">\r\n\r\n <div class=\"o-grid o-grid_no-gutter\">\r\n <div class=\"c-tree-table__toolbar-content u-display-inline-flex\">\r\n <div class=\"c-form c-form_inline u-display-inline-block\">\r\n <form class=\"c-label\">\r\n <div class=\"input-wrapper u-margin-right-tiny\">\r\n <input #searchTextInput\r\n (input)=\"dt.filterGlobal($any($event.target).value, 'contains')\"\r\n [(ngModel)]=\"searchText\"\r\n [ngModelOptions]=\"{standalone: true}\"\r\n autofocus=\"\"\r\n class=\"search-box c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\r\n pInputText\r\n placeholder=\"{{('SHARED.SEARCH' | translate) + ':'}}\"\r\n required\r\n style=\"padding-right: 28px\"\r\n tabindex=\"1\"\r\n type=\"search\"\r\n >\r\n <button (click)=\"dt.filterGlobal($any($event.target).value, 'contains')\" class=\"button-reset\" type=\"reset\"\r\n [attr.title]=\"'Reset' | translate\">\r\n <i class=\"in in-close\"></i>\r\n </button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"c-btn c-btn_border-free c-btn_small\">\r\n <in-table-columns-multiselect (columnsChange)=\"columnsChange($event)\"\r\n [columns]=\"columns\"></in-table-columns-multiselect>\r\n </div>\r\n\r\n <button (click)=\"addAction.emit($event)\" *ngIf=\"toolbar.add\" [disabled]=\"toolbar.add.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-plus\" [title]=\"toolbar.add.title || '\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C'\"></i>\r\n </button>\r\n\r\n <button (click)=\"groupAddAction.emit($event)\" *ngIf=\"toolbar.groupAdd\" [disabled]=\"toolbar.groupAdd.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-folder-closed\" [title]=\"toolbar.groupAdd.title || '\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0433\u0440\u0443\u043F\u043F\u0443'\"></i>\r\n </button>\r\n\r\n\r\n <button (click)=\"saveAction.emit($event)\" *ngIf=\"toolbar.save\"\r\n [disabled]=\"toolbar.save.disabled\"\r\n class=\"c-btn c-btn_primary c-btn_small\"\r\n title=\"{{'Save' | translate}}\"\r\n >\r\n {{'Save' | translate}}\r\n </button>\r\n <button (click)=\"groupEditAction.emit($event)\" *ngIf=\"toolbar.groupEdit && toolbar.groupEdit.active\"\r\n [disabled]=\"toolbar.groupEdit.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-pencil\" title=\"{{'groupEdit' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"removeAction.emit($event)\" *ngIf=\"toolbar.remove && toolbar.remove.active\"\r\n [disabled]=\"toolbar.remove.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-trash\" [title]=\"toolbar.remove?.title || '\u0423\u0434\u0430\u043B\u0438\u0442\u044C'\"></i>\r\n </button>\r\n <button (click)=\"unlinkAction.emit($event)\" *ngIf=\"toolbar.unlink\" [disabled]=\"toolbar.unlink.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-link-off\" title=\"{{'Detach tag from selected items' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"csvAction.emit($event)\" *ngIf=\"toolbar.csv\" [disabled]=\"toolbar.csv.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n<!-- Todo: \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u043D\u0430 in-file-csv-->\r\n <i class=\"in in-file-excel-outline\" title=\"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043A\u0430\u043A CSV\"></i>\r\n </button>\r\n <button *ngIf=\"toolbar.collapse\"\r\n class=\"c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free\"\r\n (click)=\"collapse($event, dt)\"\r\n title=\"{{(isCollapse ? 'Expand all' : 'Collapse all') | translate}}\">\r\n <svg *ngIf=\"isCollapse\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path d=\"M20 2H4v2h16V2zM4 20v2h16v-2H4zM12 5l5 6H7l5-6zM17 13l-5 6-5-6h10z\"/>\r\n </svg>\r\n <svg *ngIf=\"!isCollapse\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path fill-rule=\"evenodd\" d=\"M17 3l-5 6-5-6h10zM4 13v-2h16v2H4zm8 2l5 6H7l5-6z\" clip-rule=\"evenodd\"/>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</p-treeTable>\r\n", styles: ["@charset \"UTF-8\";.p-sortable-column{cursor:pointer;position:relative}.in-table-checkbox{appearance:none;-webkit-appearance:none;width:var(--p-checkbox-width, 20px);height:var(--p-checkbox-height, 20px);border:1px solid var(--p-checkbox-border-color, #B3B3B3);border-radius:var(--p-checkbox-border-radius, 2px);background:var(--p-checkbox-background, transparent);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;flex-shrink:0;transition:border-color var(--p-checkbox-transition-duration, .15s),background var(--p-checkbox-transition-duration, .15s)}.in-table-checkbox:checked{background:var(--p-checkbox-checked-background, #387382);border-color:var(--p-checkbox-checked-border-color, #387382)}.in-table-checkbox:checked:after{content:\"\";display:block;width:var(--p-checkbox-icon-size, 14px);height:var(--p-checkbox-icon-size, 14px);background-color:var(--p-checkbox-icon-checked-color, #ffffff);mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='currentColor' d='M5.25 10.15l-2.8-2.8-.7.7 3.5 3.5 7.5-7.5-.7-.7z'/%3E%3C/svg%3E\");-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='currentColor' d='M5.25 10.15l-2.8-2.8-.7.7 3.5 3.5 7.5-7.5-.7-.7z'/%3E%3C/svg%3E\");mask-size:contain;-webkit-mask-size:contain;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-position:center;-webkit-mask-position:center}.in-table-checkbox:indeterminate{background:var(--p-checkbox-checked-background, #387382);border-color:var(--p-checkbox-checked-border-color, #387382)}.in-table-checkbox:indeterminate:after{content:\"\";display:block;width:calc(var(--p-checkbox-icon-size, 14px) - 2px);height:2px;background-color:var(--p-checkbox-icon-checked-color, #ffffff);margin:auto}.in-table-checkbox:hover:not(:checked):not(:indeterminate){border-color:var(--p-checkbox-hover-border-color, #999999)}.p-sortable-column-buttons{position:absolute;top:0;right:0;width:18px;height:100%;display:inline-flex;align-items:center;z-index:10000}.p-sortable-column-buttons>a{position:absolute;top:50%;right:0;left:0;transform:translateY(-50%)}.u-overflow-visible{overflow:visible!important}.button-reset{display:flex;align-items:center;position:absolute;right:6px;top:5px;padding:6px;font-size:15px;border:none;outline:0;cursor:pointer;color:var(--colorTextMuted);background-color:transparent}.button-reset:hover{color:var(--colorIcon)}.input-wrapper{position:relative;display:flex;align-items:baseline}.c-input:not(:valid)~.button-reset{display:none}\n"] }]
2705
2858
  }], null, { columns: [{
2706
2859
  type: Input
2707
- }], values: [{
2708
- type: Input
2709
2860
  }], scrollHeight: [{
2710
2861
  type: Input
2711
2862
  }], scrollable: [{
@@ -2757,6 +2908,8 @@ class TreeTableComponent {
2757
2908
  type: Output
2758
2909
  }], groupAddAction: [{
2759
2910
  type: Output
2911
+ }], values: [{
2912
+ type: Input
2760
2913
  }], selection: [{
2761
2914
  type: Input
2762
2915
  }] }); })();