@platforma-sdk/ui-vue 1.45.34 → 1.45.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/.turbo/turbo-build.log +216 -222
  2. package/.turbo/turbo-type-check.log +1 -1
  3. package/CHANGELOG.md +16 -0
  4. package/dist/AgGridVue/useAgGridOptions.js +2 -3
  5. package/dist/AgGridVue/useAgGridOptions.js.map +1 -1
  6. package/dist/components/{PlMultiSequenceAlignment/Legend.vue.d.ts → PlAdvancedFilter/OperandButton.vue.d.ts} +4 -2
  7. package/dist/components/{PlMultiSequenceAlignment/Toolbar.vue.js → PlAdvancedFilter/OperandButton.vue.js} +3 -3
  8. package/dist/components/PlAdvancedFilter/OperandButton.vue.js.map +1 -0
  9. package/dist/components/PlAdvancedFilter/OperandButton.vue2.js +25 -0
  10. package/dist/components/PlAdvancedFilter/OperandButton.vue2.js.map +1 -0
  11. package/dist/components/PlAdvancedFilter/OperandButton.vue3.js +13 -0
  12. package/dist/components/PlAdvancedFilter/OperandButton.vue3.js.map +1 -0
  13. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue.d.ts +39 -0
  14. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue.js +10 -0
  15. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue.js.map +1 -0
  16. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue2.js +199 -0
  17. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue2.js.map +1 -0
  18. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue3.js +17 -0
  19. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue3.js.map +1 -0
  20. package/dist/components/PlAdvancedFilter/SingleFilter.vue.d.ts +37 -0
  21. package/dist/components/{PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue.js → PlAdvancedFilter/SingleFilter.vue.js} +3 -3
  22. package/dist/components/PlAdvancedFilter/SingleFilter.vue.js.map +1 -0
  23. package/dist/components/PlAdvancedFilter/SingleFilter.vue2.js +306 -0
  24. package/dist/components/PlAdvancedFilter/SingleFilter.vue2.js.map +1 -0
  25. package/dist/components/PlAdvancedFilter/SingleFilter.vue3.js +35 -0
  26. package/dist/components/PlAdvancedFilter/SingleFilter.vue3.js.map +1 -0
  27. package/dist/components/PlAdvancedFilter/constants.d.ts +4 -0
  28. package/dist/components/PlAdvancedFilter/constants.js +41 -0
  29. package/dist/components/PlAdvancedFilter/constants.js.map +1 -0
  30. package/dist/components/PlAdvancedFilter/index.d.ts +1 -0
  31. package/dist/components/PlAdvancedFilter/types.d.ts +57 -0
  32. package/dist/components/PlAdvancedFilter/types.js +8 -0
  33. package/dist/components/PlAdvancedFilter/types.js.map +1 -0
  34. package/dist/components/PlAdvancedFilter/utils.js +150 -0
  35. package/dist/components/PlAdvancedFilter/utils.js.map +1 -0
  36. package/dist/components/PlAgDataTable/PlAgRowCount.vue.js +7 -8
  37. package/dist/components/PlAgDataTable/PlAgRowCount.vue.js.map +1 -1
  38. package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.js +9 -10
  39. package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.js.map +1 -1
  40. package/dist/components/PlAgRowNumHeader.vue.js +2 -3
  41. package/dist/components/PlAgRowNumHeader.vue.js.map +1 -1
  42. package/dist/index.js +32 -32
  43. package/dist/lib.d.ts +1 -1
  44. package/package.json +6 -7
  45. package/src/components/PlAdvancedFilter/OperandButton.vue +53 -0
  46. package/src/components/PlAdvancedFilter/PlAdvancedFilter.vue +209 -0
  47. package/src/components/PlAdvancedFilter/SingleFilter.vue +425 -0
  48. package/src/components/PlAdvancedFilter/constants.ts +42 -0
  49. package/src/components/PlAdvancedFilter/index.ts +1 -0
  50. package/src/components/PlAdvancedFilter/types.ts +77 -0
  51. package/src/components/PlAdvancedFilter/utils.ts +215 -0
  52. package/src/lib.ts +2 -2
  53. package/dist/assets/multi-sequence-alignment.worker-Cm0gZp19.js +0 -6
  54. package/dist/assets/multi-sequence-alignment.worker-Cm0gZp19.js.map +0 -1
  55. package/dist/assets/phylogenetic-tree.worker-4CrExYEo.js +0 -5
  56. package/dist/assets/phylogenetic-tree.worker-4CrExYEo.js.map +0 -1
  57. package/dist/components/PlMultiSequenceAlignment/Consensus.vue.d.ts +0 -9
  58. package/dist/components/PlMultiSequenceAlignment/Consensus.vue.js +0 -10
  59. package/dist/components/PlMultiSequenceAlignment/Consensus.vue.js.map +0 -1
  60. package/dist/components/PlMultiSequenceAlignment/Consensus.vue2.js +0 -122
  61. package/dist/components/PlMultiSequenceAlignment/Consensus.vue2.js.map +0 -1
  62. package/dist/components/PlMultiSequenceAlignment/Consensus.vue3.js +0 -9
  63. package/dist/components/PlMultiSequenceAlignment/Consensus.vue3.js.map +0 -1
  64. package/dist/components/PlMultiSequenceAlignment/Legend.vue.js +0 -10
  65. package/dist/components/PlMultiSequenceAlignment/Legend.vue.js.map +0 -1
  66. package/dist/components/PlMultiSequenceAlignment/Legend.vue2.js +0 -28
  67. package/dist/components/PlMultiSequenceAlignment/Legend.vue2.js.map +0 -1
  68. package/dist/components/PlMultiSequenceAlignment/Legend.vue3.js +0 -13
  69. package/dist/components/PlMultiSequenceAlignment/Legend.vue3.js.map +0 -1
  70. package/dist/components/PlMultiSequenceAlignment/MultiSequenceAlignmentView.vue.d.ts +0 -25
  71. package/dist/components/PlMultiSequenceAlignment/MultiSequenceAlignmentView.vue.js +0 -10
  72. package/dist/components/PlMultiSequenceAlignment/MultiSequenceAlignmentView.vue.js.map +0 -1
  73. package/dist/components/PlMultiSequenceAlignment/MultiSequenceAlignmentView.vue2.js +0 -138
  74. package/dist/components/PlMultiSequenceAlignment/MultiSequenceAlignmentView.vue2.js.map +0 -1
  75. package/dist/components/PlMultiSequenceAlignment/MultiSequenceAlignmentView.vue3.js +0 -31
  76. package/dist/components/PlMultiSequenceAlignment/MultiSequenceAlignmentView.vue3.js.map +0 -1
  77. package/dist/components/PlMultiSequenceAlignment/PhylogeneticTree.vue.d.ts +0 -8
  78. package/dist/components/PlMultiSequenceAlignment/PhylogeneticTree.vue.js +0 -10
  79. package/dist/components/PlMultiSequenceAlignment/PhylogeneticTree.vue.js.map +0 -1
  80. package/dist/components/PlMultiSequenceAlignment/PhylogeneticTree.vue2.js +0 -77
  81. package/dist/components/PlMultiSequenceAlignment/PhylogeneticTree.vue2.js.map +0 -1
  82. package/dist/components/PlMultiSequenceAlignment/PhylogeneticTree.vue3.js +0 -9
  83. package/dist/components/PlMultiSequenceAlignment/PhylogeneticTree.vue3.js.map +0 -1
  84. package/dist/components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue.d.ts +0 -71
  85. package/dist/components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue.js.map +0 -1
  86. package/dist/components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue2.js +0 -224
  87. package/dist/components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue2.js.map +0 -1
  88. package/dist/components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue3.js +0 -9
  89. package/dist/components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue3.js.map +0 -1
  90. package/dist/components/PlMultiSequenceAlignment/SeqLogo.vue.d.ts +0 -8
  91. package/dist/components/PlMultiSequenceAlignment/SeqLogo.vue.js +0 -10
  92. package/dist/components/PlMultiSequenceAlignment/SeqLogo.vue.js.map +0 -1
  93. package/dist/components/PlMultiSequenceAlignment/SeqLogo.vue2.js +0 -127
  94. package/dist/components/PlMultiSequenceAlignment/SeqLogo.vue2.js.map +0 -1
  95. package/dist/components/PlMultiSequenceAlignment/SeqLogo.vue3.js +0 -9
  96. package/dist/components/PlMultiSequenceAlignment/SeqLogo.vue3.js.map +0 -1
  97. package/dist/components/PlMultiSequenceAlignment/Toolbar.vue.d.ts +0 -16
  98. package/dist/components/PlMultiSequenceAlignment/Toolbar.vue.js.map +0 -1
  99. package/dist/components/PlMultiSequenceAlignment/Toolbar.vue2.js +0 -228
  100. package/dist/components/PlMultiSequenceAlignment/Toolbar.vue2.js.map +0 -1
  101. package/dist/components/PlMultiSequenceAlignment/Toolbar.vue3.js +0 -19
  102. package/dist/components/PlMultiSequenceAlignment/Toolbar.vue3.js.map +0 -1
  103. package/dist/components/PlMultiSequenceAlignment/cell-size.d.ts +0 -4
  104. package/dist/components/PlMultiSequenceAlignment/cell-size.js +0 -8
  105. package/dist/components/PlMultiSequenceAlignment/cell-size.js.map +0 -1
  106. package/dist/components/PlMultiSequenceAlignment/chemical-properties.d.ts +0 -44
  107. package/dist/components/PlMultiSequenceAlignment/chemical-properties.js +0 -132
  108. package/dist/components/PlMultiSequenceAlignment/chemical-properties.js.map +0 -1
  109. package/dist/components/PlMultiSequenceAlignment/data.d.ts +0 -61
  110. package/dist/components/PlMultiSequenceAlignment/data.js +0 -370
  111. package/dist/components/PlMultiSequenceAlignment/data.js.map +0 -1
  112. package/dist/components/PlMultiSequenceAlignment/index.d.ts +0 -1
  113. package/dist/components/PlMultiSequenceAlignment/markup.d.ts +0 -16
  114. package/dist/components/PlMultiSequenceAlignment/markup.js +0 -84
  115. package/dist/components/PlMultiSequenceAlignment/markup.js.map +0 -1
  116. package/dist/components/PlMultiSequenceAlignment/migrations.d.ts +0 -3
  117. package/dist/components/PlMultiSequenceAlignment/migrations.js +0 -24
  118. package/dist/components/PlMultiSequenceAlignment/migrations.js.map +0 -1
  119. package/dist/components/PlMultiSequenceAlignment/multi-sequence-alignment.worker.d.ts +0 -6
  120. package/dist/components/PlMultiSequenceAlignment/phylogenetic-tree.worker.d.ts +0 -7
  121. package/dist/components/PlMultiSequenceAlignment/residue-counts.d.ts +0 -2
  122. package/dist/components/PlMultiSequenceAlignment/residue-counts.js +0 -13
  123. package/dist/components/PlMultiSequenceAlignment/residue-counts.js.map +0 -1
  124. package/dist/components/PlMultiSequenceAlignment/settings.d.ts +0 -2
  125. package/dist/components/PlMultiSequenceAlignment/settings.js +0 -9
  126. package/dist/components/PlMultiSequenceAlignment/settings.js.map +0 -1
  127. package/dist/components/PlMultiSequenceAlignment/types.d.ts +0 -5
  128. package/dist/components/PlMultiSequenceAlignment/useMiPlots.d.ts +0 -4
  129. package/dist/components/PlMultiSequenceAlignment/useMiPlots.js +0 -19
  130. package/dist/components/PlMultiSequenceAlignment/useMiPlots.js.map +0 -1
  131. package/src/components/PlMultiSequenceAlignment/Consensus.vue +0 -165
  132. package/src/components/PlMultiSequenceAlignment/Legend.vue +0 -44
  133. package/src/components/PlMultiSequenceAlignment/MultiSequenceAlignmentView.vue +0 -299
  134. package/src/components/PlMultiSequenceAlignment/PhylogeneticTree.vue +0 -110
  135. package/src/components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue +0 -314
  136. package/src/components/PlMultiSequenceAlignment/README.md +0 -216
  137. package/src/components/PlMultiSequenceAlignment/SeqLogo.vue +0 -166
  138. package/src/components/PlMultiSequenceAlignment/Toolbar.vue +0 -228
  139. package/src/components/PlMultiSequenceAlignment/cell-size.ts +0 -4
  140. package/src/components/PlMultiSequenceAlignment/chemical-properties.ts +0 -199
  141. package/src/components/PlMultiSequenceAlignment/data.ts +0 -661
  142. package/src/components/PlMultiSequenceAlignment/index.ts +0 -1
  143. package/src/components/PlMultiSequenceAlignment/markup.ts +0 -141
  144. package/src/components/PlMultiSequenceAlignment/migrations.ts +0 -46
  145. package/src/components/PlMultiSequenceAlignment/multi-sequence-alignment.worker.ts +0 -54
  146. package/src/components/PlMultiSequenceAlignment/phylogenetic-tree.worker.ts +0 -89
  147. package/src/components/PlMultiSequenceAlignment/residue-counts.ts +0 -124
  148. package/src/components/PlMultiSequenceAlignment/settings.ts +0 -7
  149. package/src/components/PlMultiSequenceAlignment/types.ts +0 -3
  150. package/src/components/PlMultiSequenceAlignment/useMiPlots.ts +0 -23
@@ -0,0 +1,150 @@
1
+ import { getTypeFromPColumnOrAxisSpec as c, parseJson as g, isFilteredPColumn as E, isAnchoredPColumnId as f, isAxisId as q, assertNever as x } from "@platforma-sdk/model";
2
+ import { isSupportedFilterType as T } from "./types.js";
3
+ import { DEFAULT_FILTERS as S, DEFAULT_FILTER_TYPE as h, SUPPORTED_FILTER_TYPES as d } from "./constants.js";
4
+ import { filterUiMetadata as m } from "@milaboratories/uikit";
5
+ import { ref as v, watch as o } from "vue";
6
+ function s(e) {
7
+ return !("column" in e) || e.type === void 0 || !T(e.type) ? null : e.type === "patternFuzzyContainSubsequence" ? {
8
+ ...e,
9
+ value: e.value,
10
+ wildcard: e.wildcard,
11
+ maxEdits: e.maxEdits ?? 2,
12
+ substitutionsOnly: e.substitutionsOnly ?? !1
13
+ } : { ...e };
14
+ }
15
+ let i = 0;
16
+ function u() {
17
+ return i++, String(i);
18
+ }
19
+ function p(e) {
20
+ if (e.type === "not") {
21
+ const n = p(e.filter);
22
+ return n ? {
23
+ not: !n.not,
24
+ operand: n.operand,
25
+ filters: n.filters,
26
+ id: u(),
27
+ expanded: n.expanded
28
+ } : null;
29
+ }
30
+ if (e.type === "and" || e.type === "or")
31
+ return {
32
+ operand: e.type,
33
+ not: !1,
34
+ filters: e.filters.map((n) => s(n)).filter((n) => n !== null),
35
+ id: u(),
36
+ expanded: e.expanded ?? !0
37
+ };
38
+ if (d.has(e.type)) {
39
+ const n = s(e);
40
+ return {
41
+ operand: "or",
42
+ not: !1,
43
+ filters: n ? [n] : [],
44
+ id: u(),
45
+ expanded: e.expanded ?? !0
46
+ };
47
+ }
48
+ return null;
49
+ }
50
+ function z(e) {
51
+ const n = {
52
+ operand: "or",
53
+ groups: []
54
+ };
55
+ if (e.type === "not")
56
+ return n;
57
+ if (e.type === "and" || e.type === "or")
58
+ n.operand = e.type, n.groups = e.filters.map(p).filter((t) => t !== null);
59
+ else if (d.has(e.type)) {
60
+ const t = p(e);
61
+ n.groups = t ? [t] : [];
62
+ }
63
+ return n.groups = n.groups.filter((t) => t.filters.length > 0), n;
64
+ }
65
+ function I(e) {
66
+ if (e.type === "isNA" || e.type === "isNotNA" || e.type === "inSet" || e.type === "notInSet")
67
+ return e;
68
+ if (e.type === "greaterThanOrEqual" || e.type === "lessThanOrEqual" || e.type === "greaterThan" || e.type === "lessThan" || e.type === "equal" || e.type === "notEqual")
69
+ return e.x !== void 0 ? { ...e, x: e.x } : null;
70
+ if (e.type === "patternEquals" || e.type === "patternNotEquals" || e.type === "patternContainSubsequence" || e.type === "patternNotContainSubsequence" || e.type === "patternMatchesRegularExpression" || e.type === "patternFuzzyContainSubsequence")
71
+ return e.value !== void 0 ? { ...e, value: e.value } : null;
72
+ x(e.type);
73
+ }
74
+ function C(e) {
75
+ const n = {
76
+ type: e.operand,
77
+ expanded: e.expanded,
78
+ filters: e.filters.map(I).filter((t) => t !== null)
79
+ };
80
+ return e.not ? {
81
+ type: "not",
82
+ filter: n
83
+ } : n;
84
+ }
85
+ function A(e) {
86
+ return {
87
+ type: e.operand,
88
+ filters: e.groups.map(C)
89
+ };
90
+ }
91
+ function P(e) {
92
+ return {
93
+ id: u(),
94
+ not: !1,
95
+ operand: "and",
96
+ expanded: !0,
97
+ filters: [{
98
+ ...S[h],
99
+ column: e
100
+ }]
101
+ };
102
+ }
103
+ function R(e) {
104
+ return { valueType: c(e), annotations: e.annotations, domain: e.domain };
105
+ }
106
+ function w(e) {
107
+ return e.type === "equal" || e.type === "notEqual" || e.type === "lessThan" || e.type === "lessThanOrEqual" || e.type === "greaterThan" || e.type === "greaterThanOrEqual";
108
+ }
109
+ function L(e) {
110
+ return e.type === "patternEquals" || e.type === "patternNotEquals" || e.type === "patternContainSubsequence" || e.type === "patternNotContainSubsequence" || e.type === "patternMatchesRegularExpression" || e.type === "patternFuzzyContainSubsequence";
111
+ }
112
+ function _(e) {
113
+ return m[e];
114
+ }
115
+ function G(e, n, t) {
116
+ const a = v(e(t.value));
117
+ function l(r) {
118
+ t.value = n(r);
119
+ }
120
+ function y(r) {
121
+ a.value = e(r);
122
+ }
123
+ return o(() => t.value, (r) => {
124
+ y(r);
125
+ }, { deep: !0 }), o(() => a.value, (r) => {
126
+ l(r);
127
+ }, { deep: !0 }), a;
128
+ }
129
+ function U(e) {
130
+ if (typeof e != "string")
131
+ return !1;
132
+ try {
133
+ const n = g(e);
134
+ return E(n) || f(n) || q(n);
135
+ } catch {
136
+ return !1;
137
+ }
138
+ }
139
+ export {
140
+ P as createNewGroup,
141
+ _ as getFilterInfo,
142
+ R as getNormalizedSpec,
143
+ w as isNumericFilter,
144
+ L as isStringFilter,
145
+ U as isValidColumnId,
146
+ z as toInnerModel,
147
+ A as toOuterModel,
148
+ G as useInnerModel
149
+ };
150
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../../src/components/PlAdvancedFilter/utils.ts"],"sourcesContent":["import type { AnchoredPColumnId, AxisId, CanonicalizedJson, FilteredPColumnId, ValueType } from '@platforma-sdk/model';\nimport { assertNever, getTypeFromPColumnOrAxisSpec, isAnchoredPColumnId, isFilteredPColumn, parseJson, type AxisSpec, type PColumnSpec, type SUniversalPColumnId } from '@platforma-sdk/model';\nimport { type CommonFilterSpec, isSupportedFilterType, type Filter, type FilterType, type Group, type PlAdvancedFilterUI, type SupportedFilterTypes, type PlAdvancedFilterColumnId } from './types';\nimport { DEFAULT_FILTER_TYPE, DEFAULT_FILTERS, SUPPORTED_FILTER_TYPES } from './constants';\nimport { filterUiMetadata } from '@milaboratories/uikit';\nimport { ref, watch, type ModelRef } from 'vue';\nimport { isAxisId } from '@platforma-sdk/model';\n\nfunction toInnerFilter(outerFilter: CommonFilterSpec): Filter | null {\n if (!('column' in outerFilter) || outerFilter.type === undefined || !isSupportedFilterType(outerFilter.type)) {\n return null;\n }\n if (outerFilter.type === 'patternFuzzyContainSubsequence') {\n return {\n ...outerFilter,\n value: outerFilter.value,\n wildcard: outerFilter.wildcard,\n maxEdits: outerFilter.maxEdits ?? 2,\n substitutionsOnly: outerFilter.substitutionsOnly ?? false,\n };\n }\n\n return { ...outerFilter } as Filter;\n}\n\nlet groupIdCounter = 0;\nfunction getNewGroupId() {\n groupIdCounter++;\n return String(groupIdCounter);\n}\n\nfunction toInnerFiltersGroup(f: CommonFilterSpec): Group | null {\n if (f.type === 'not') {\n const group = toInnerFiltersGroup(f.filter);\n return group\n ? {\n not: !group.not,\n operand: group.operand,\n filters: group.filters,\n id: getNewGroupId(),\n expanded: group.expanded,\n }\n : null;\n }\n if (f.type === 'and' || f.type === 'or') {\n return {\n operand: f.type,\n not: false,\n filters: f.filters.map((f) => toInnerFilter(f)).filter((v) => v !== null) as Filter[],\n id: getNewGroupId(),\n expanded: f.expanded ?? true,\n };\n }\n if (SUPPORTED_FILTER_TYPES.has(f.type as SupportedFilterTypes)) {\n const filter = toInnerFilter(f);\n return {\n operand: 'or',\n not: false,\n filters: filter ? [filter] : [],\n id: getNewGroupId(),\n expanded: f.expanded ?? true,\n };\n }\n return null;\n}\n\nexport function toInnerModel(m: CommonFilterSpec): PlAdvancedFilterUI {\n const res: PlAdvancedFilterUI = {\n operand: 'or',\n groups: [],\n };\n if (m.type === 'not') {\n return res; // not supported 'not' for all the groups in ui\n }\n if (m.type === 'and' || m.type === 'or') {\n // group\n res.operand = m.type;\n res.groups = m.filters.map(toInnerFiltersGroup).filter((v) => v !== null) as Group[];\n } else if (SUPPORTED_FILTER_TYPES.has(m.type as SupportedFilterTypes)) {\n // single filter\n const group = toInnerFiltersGroup(m);\n res.groups = group ? [group] : [];\n }\n res.groups = res.groups.filter((gr) => gr.filters.length > 0);\n return res;\n}\n\nfunction toOuterFilter(filter: Filter): CommonFilterSpec | null {\n if (\n filter.type === 'isNA' || filter.type === 'isNotNA'\n || filter.type === 'inSet' || filter.type === 'notInSet'\n ) {\n return filter;\n }\n if (\n filter.type === 'greaterThanOrEqual' || filter.type === 'lessThanOrEqual'\n || filter.type === 'greaterThan' || filter.type === 'lessThan'\n || filter.type === 'equal' || filter.type === 'notEqual'\n ) {\n return filter.x !== undefined ? { ...filter, x: filter.x } : null;\n }\n if (\n filter.type === 'patternEquals' || filter.type === 'patternNotEquals'\n || filter.type === 'patternContainSubsequence' || filter.type === 'patternNotContainSubsequence'\n || filter.type === 'patternMatchesRegularExpression'\n || filter.type === 'patternFuzzyContainSubsequence'\n ) {\n return filter.value !== undefined ? { ...filter, value: filter.value } : null;\n }\n assertNever(filter.type);\n}\n\nfunction toOuterFilterGroup(m: Group): CommonFilterSpec {\n const res: CommonFilterSpec = {\n type: m.operand,\n expanded: m.expanded,\n filters: m.filters.map(toOuterFilter).filter((v): v is CommonFilterSpec => v !== null),\n };\n if (m.not) {\n return {\n type: 'not',\n filter: res,\n } as CommonFilterSpec;\n }\n return res;\n}\nexport function toOuterModel(m: PlAdvancedFilterUI): CommonFilterSpec {\n return {\n type: m.operand,\n filters: m.groups.map(toOuterFilterGroup),\n };\n}\n\nexport function createNewGroup(selectedSourceId: string) {\n return {\n id: getNewGroupId(),\n not: false,\n operand: 'and' as const,\n expanded: true,\n filters: [{\n ...DEFAULT_FILTERS[DEFAULT_FILTER_TYPE],\n column: selectedSourceId as SUniversalPColumnId,\n }],\n };\n}\n\nexport type NormalizedSpecData = {\n valueType: ValueType;\n annotations: PColumnSpec['annotations'];\n domain: PColumnSpec['domain'];\n};\nexport function getNormalizedSpec(spec: PColumnSpec | AxisSpec): NormalizedSpecData {\n return { valueType: getTypeFromPColumnOrAxisSpec(spec), annotations: spec.annotations, domain: spec.domain };\n}\n\nexport function isNumericValueType(spec?: PColumnSpec | AxisSpec): boolean {\n if (!spec) {\n return false;\n }\n const valueType = getNormalizedSpec(spec).valueType;\n return valueType === 'Int' || valueType === 'Long' || valueType === 'Float' || valueType === 'Double';\n}\n\nexport function isStringValueType(spec?: PColumnSpec | AxisSpec): boolean {\n if (!spec) {\n return false;\n }\n const valueType = getNormalizedSpec(spec).valueType;\n return valueType === 'String';\n}\n\nexport function isNumericFilter(filter: Filter): filter is Filter & { type: 'equal' | 'notEqual' | 'lessThan' | 'lessThanOrEqual' | 'greaterThan' | 'greaterThanOrEqual' } {\n return filter.type === 'equal' || filter.type === 'notEqual' || filter.type === 'lessThan' || filter.type === 'lessThanOrEqual' || filter.type === 'greaterThan' || filter.type === 'greaterThanOrEqual';\n}\nexport function isStringFilter(filter: Filter): filter is Filter & { type: 'patternEquals' | 'patternNotEquals' | 'patternContainSubsequence' | 'patternNotContainSubsequence' | 'patternMatchesRegularExpression' | 'patternFuzzyContainSubsequence' } {\n return filter.type === 'patternEquals' || filter.type === 'patternNotEquals' || filter.type === 'patternContainSubsequence' || filter.type === 'patternNotContainSubsequence' || filter.type === 'patternMatchesRegularExpression' || filter.type === 'patternFuzzyContainSubsequence';\n}\n\nexport function getFilterInfo(filterType: FilterType): { label: string; supportedFor: (spec: NormalizedSpecData) => boolean } {\n return filterUiMetadata[filterType as keyof typeof filterUiMetadata];\n}\n\nexport function useInnerModel<T, V>(\n toInnerModel: (v: T) => V,\n toOuterModel: (v: V) => T,\n model: ModelRef<T>,\n) {\n const innerModel = ref<V>(toInnerModel(model.value));\n function updateOuterModelValue(v: V) {\n model.value = toOuterModel(v);\n }\n function updateInnerModelValue(v: T) {\n innerModel.value = toInnerModel(v);\n }\n watch(() => model.value, (v: T) => {\n updateInnerModelValue(v);\n }, { deep: true });\n watch(() => innerModel.value, (v: V) => {\n updateOuterModelValue(v);\n }, { deep: true });\n\n return innerModel;\n}\n\nexport function isValidColumnId(id: unknown): id is PlAdvancedFilterColumnId {\n if (typeof id !== 'string') {\n return false;\n }\n try {\n const parsedId = parseJson<FilteredPColumnId | AnchoredPColumnId | AxisId>(id as CanonicalizedJson<FilteredPColumnId | AnchoredPColumnId | AxisId>);\n return isFilteredPColumn(parsedId) || isAnchoredPColumnId(parsedId) || isAxisId(parsedId);\n } catch {\n return false;\n }\n}\n"],"names":["toInnerFilter","outerFilter","isSupportedFilterType","groupIdCounter","getNewGroupId","toInnerFiltersGroup","f","group","v","SUPPORTED_FILTER_TYPES","filter","toInnerModel","m","res","gr","toOuterFilter","assertNever","toOuterFilterGroup","toOuterModel","createNewGroup","selectedSourceId","DEFAULT_FILTERS","DEFAULT_FILTER_TYPE","getNormalizedSpec","spec","getTypeFromPColumnOrAxisSpec","isNumericFilter","isStringFilter","getFilterInfo","filterType","filterUiMetadata","useInnerModel","model","innerModel","ref","updateOuterModelValue","updateInnerModelValue","watch","isValidColumnId","id","parsedId","parseJson","isFilteredPColumn","isAnchoredPColumnId","isAxisId"],"mappings":";;;;;AAQA,SAASA,EAAcC,GAA8C;AACnE,SAAI,EAAE,YAAYA,MAAgBA,EAAY,SAAS,UAAa,CAACC,EAAsBD,EAAY,IAAI,IAClG,OAELA,EAAY,SAAS,mCAChB;AAAA,IACL,GAAGA;AAAA,IACH,OAAOA,EAAY;AAAA,IACnB,UAAUA,EAAY;AAAA,IACtB,UAAUA,EAAY,YAAY;AAAA,IAClC,mBAAmBA,EAAY,qBAAqB;AAAA,EAAA,IAIjD,EAAE,GAAGA,EAAA;AACd;AAEA,IAAIE,IAAiB;AACrB,SAASC,IAAgB;AACvB,SAAAD,KACO,OAAOA,CAAc;AAC9B;AAEA,SAASE,EAAoBC,GAAmC;AAC9D,MAAIA,EAAE,SAAS,OAAO;AACpB,UAAMC,IAAQF,EAAoBC,EAAE,MAAM;AAC1C,WAAOC,IACH;AAAA,MACE,KAAK,CAACA,EAAM;AAAA,MACZ,SAASA,EAAM;AAAA,MACf,SAASA,EAAM;AAAA,MACf,IAAIH,EAAA;AAAA,MACJ,UAAUG,EAAM;AAAA,IAAA,IAElB;AAAA,EACN;AACA,MAAID,EAAE,SAAS,SAASA,EAAE,SAAS;AACjC,WAAO;AAAA,MACL,SAASA,EAAE;AAAA,MACX,KAAK;AAAA,MACL,SAASA,EAAE,QAAQ,IAAI,CAACA,MAAMN,EAAcM,CAAC,CAAC,EAAE,OAAO,CAACE,MAAMA,MAAM,IAAI;AAAA,MACxE,IAAIJ,EAAA;AAAA,MACJ,UAAUE,EAAE,YAAY;AAAA,IAAA;AAG5B,MAAIG,EAAuB,IAAIH,EAAE,IAA4B,GAAG;AAC9D,UAAMI,IAASV,EAAcM,CAAC;AAC9B,WAAO;AAAA,MACL,SAAS;AAAA,MACT,KAAK;AAAA,MACL,SAASI,IAAS,CAACA,CAAM,IAAI,CAAA;AAAA,MAC7B,IAAIN,EAAA;AAAA,MACJ,UAAUE,EAAE,YAAY;AAAA,IAAA;AAAA,EAE5B;AACA,SAAO;AACT;AAEO,SAASK,EAAaC,GAAyC;AACpE,QAAMC,IAA0B;AAAA,IAC9B,SAAS;AAAA,IACT,QAAQ,CAAA;AAAA,EAAC;AAEX,MAAID,EAAE,SAAS;AACb,WAAOC;AAET,MAAID,EAAE,SAAS,SAASA,EAAE,SAAS;AAEjC,IAAAC,EAAI,UAAUD,EAAE,MAChBC,EAAI,SAASD,EAAE,QAAQ,IAAIP,CAAmB,EAAE,OAAO,CAACG,MAAMA,MAAM,IAAI;AAAA,WAC/DC,EAAuB,IAAIG,EAAE,IAA4B,GAAG;AAErE,UAAML,IAAQF,EAAoBO,CAAC;AACnC,IAAAC,EAAI,SAASN,IAAQ,CAACA,CAAK,IAAI,CAAA;AAAA,EACjC;AACA,SAAAM,EAAI,SAASA,EAAI,OAAO,OAAO,CAACC,MAAOA,EAAG,QAAQ,SAAS,CAAC,GACrDD;AACT;AAEA,SAASE,EAAcL,GAAyC;AAC9D,MACEA,EAAO,SAAS,UAAUA,EAAO,SAAS,aACvCA,EAAO,SAAS,WAAWA,EAAO,SAAS;AAE9C,WAAOA;AAET,MACEA,EAAO,SAAS,wBAAwBA,EAAO,SAAS,qBACrDA,EAAO,SAAS,iBAAiBA,EAAO,SAAS,cACjDA,EAAO,SAAS,WAAWA,EAAO,SAAS;AAE9C,WAAOA,EAAO,MAAM,SAAY,EAAE,GAAGA,GAAQ,GAAGA,EAAO,EAAA,IAAM;AAE/D,MACEA,EAAO,SAAS,mBAAmBA,EAAO,SAAS,sBAChDA,EAAO,SAAS,+BAA+BA,EAAO,SAAS,kCAC/DA,EAAO,SAAS,qCAChBA,EAAO,SAAS;AAEnB,WAAOA,EAAO,UAAU,SAAY,EAAE,GAAGA,GAAQ,OAAOA,EAAO,MAAA,IAAU;AAE3E,EAAAM,EAAYN,EAAO,IAAI;AACzB;AAEA,SAASO,EAAmBL,GAA4B;AACtD,QAAMC,IAAwB;AAAA,IAC5B,MAAMD,EAAE;AAAA,IACR,UAAUA,EAAE;AAAA,IACZ,SAASA,EAAE,QAAQ,IAAIG,CAAa,EAAE,OAAO,CAACP,MAA6BA,MAAM,IAAI;AAAA,EAAA;AAEvF,SAAII,EAAE,MACG;AAAA,IACL,MAAM;AAAA,IACN,QAAQC;AAAA,EAAA,IAGLA;AACT;AACO,SAASK,EAAaN,GAAyC;AACpE,SAAO;AAAA,IACL,MAAMA,EAAE;AAAA,IACR,SAASA,EAAE,OAAO,IAAIK,CAAkB;AAAA,EAAA;AAE5C;AAEO,SAASE,EAAeC,GAA0B;AACvD,SAAO;AAAA,IACL,IAAIhB,EAAA;AAAA,IACJ,KAAK;AAAA,IACL,SAAS;AAAA,IACT,UAAU;AAAA,IACV,SAAS,CAAC;AAAA,MACR,GAAGiB,EAAgBC,CAAmB;AAAA,MACtC,QAAQF;AAAA,IAAA,CACT;AAAA,EAAA;AAEL;AAOO,SAASG,EAAkBC,GAAkD;AAClF,SAAO,EAAE,WAAWC,EAA6BD,CAAI,GAAG,aAAaA,EAAK,aAAa,QAAQA,EAAK,OAAA;AACtG;AAkBO,SAASE,EAAgBhB,GAA2I;AACzK,SAAOA,EAAO,SAAS,WAAWA,EAAO,SAAS,cAAcA,EAAO,SAAS,cAAcA,EAAO,SAAS,qBAAqBA,EAAO,SAAS,iBAAiBA,EAAO,SAAS;AACtL;AACO,SAASiB,EAAejB,GAAyN;AACtP,SAAOA,EAAO,SAAS,mBAAmBA,EAAO,SAAS,sBAAsBA,EAAO,SAAS,+BAA+BA,EAAO,SAAS,kCAAkCA,EAAO,SAAS,qCAAqCA,EAAO,SAAS;AACxP;AAEO,SAASkB,EAAcC,GAAgG;AAC5H,SAAOC,EAAiBD,CAA2C;AACrE;AAEO,SAASE,EACdpB,GACAO,GACAc,GACA;AACA,QAAMC,IAAaC,EAAOvB,EAAaqB,EAAM,KAAK,CAAC;AACnD,WAASG,EAAsB3B,GAAM;AACnC,IAAAwB,EAAM,QAAQd,EAAaV,CAAC;AAAA,EAC9B;AACA,WAAS4B,EAAsB5B,GAAM;AACnC,IAAAyB,EAAW,QAAQtB,EAAaH,CAAC;AAAA,EACnC;AACA,SAAA6B,EAAM,MAAML,EAAM,OAAO,CAACxB,MAAS;AACjC,IAAA4B,EAAsB5B,CAAC;AAAA,EACzB,GAAG,EAAE,MAAM,IAAM,GACjB6B,EAAM,MAAMJ,EAAW,OAAO,CAACzB,MAAS;AACtC,IAAA2B,EAAsB3B,CAAC;AAAA,EACzB,GAAG,EAAE,MAAM,IAAM,GAEVyB;AACT;AAEO,SAASK,EAAgBC,GAA6C;AAC3E,MAAI,OAAOA,KAAO;AAChB,WAAO;AAET,MAAI;AACF,UAAMC,IAAWC,EAA0DF,CAAuE;AAClJ,WAAOG,EAAkBF,CAAQ,KAAKG,EAAoBH,CAAQ,KAAKI,EAASJ,CAAQ;AAAA,EAC1F,QAAQ;AACN,WAAO;AAAA,EACT;AACF;"}
@@ -29,30 +29,29 @@ import "canonicalize";
29
29
 
30
30
 
31
31
  import { getTotalRowsCount as i, getSelectedRowsCount as p } from "../../AgGridVue/selection.js";
32
- import "../PlMultiSequenceAlignment/data.js";
33
32
  import "@zip.js/zip.js";
34
33
  import "../../composition/fileContent.js";
35
- const H = /* @__PURE__ */ l({
34
+ const G = /* @__PURE__ */ l({
36
35
  __name: "PlAgRowCount",
37
36
  props: {
38
37
  params: {}
39
38
  },
40
39
  setup(t) {
41
- const a = n(i(t.params.api)), r = n(p(t.params.api)), u = new Intl.PluralRules("en"), m = new Intl.NumberFormat("en"), s = d(() => {
42
- let o = m.format(a.value) + " ";
43
- return o += u.select(a.value) === "one" ? "row" : "rows", r.value > 0 && (o += " (" + m.format(r.value) + " selected)"), o;
40
+ const o = n(i(t.params.api)), r = n(p(t.params.api)), u = new Intl.PluralRules("en"), m = new Intl.NumberFormat("en"), s = d(() => {
41
+ let a = m.format(o.value) + " ";
42
+ return a += u.select(o.value) === "one" ? "row" : "rows", r.value > 0 && (a += " (" + m.format(r.value) + " selected)"), a;
44
43
  });
45
44
  function e() {
46
- a.value = i(t.params.api), r.value = p(t.params.api);
45
+ o.value = i(t.params.api), r.value = p(t.params.api);
47
46
  }
48
47
  return c(() => {
49
48
  t.params.api.addEventListener("selectionChanged", e), t.params.api.addEventListener("rowDataUpdated", e), t.params.api.addEventListener("modelUpdated", e);
50
49
  }), v(() => {
51
50
  t.params.api.removeEventListener("selectionChanged", e), t.params.api.removeEventListener("rowDataUpdated", e), t.params.api.removeEventListener("modelUpdated", e);
52
- }), (o, w) => f(s.value);
51
+ }), (a, w) => f(s.value);
53
52
  }
54
53
  });
55
54
  export {
56
- H as default
55
+ G as default
57
56
  };
58
57
  //# sourceMappingURL=PlAgRowCount.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlAgRowCount.vue.js","sources":["../../../src/components/PlAgDataTable/PlAgRowCount.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { GridApi } from 'ag-grid-enterprise';\nimport { computed, onBeforeMount, onBeforeUnmount, ref } from 'vue';\nimport { getSelectedRowsCount, getTotalRowsCount } from '../../lib';\n\nconst { params } = defineProps<{\n params: { api: GridApi };\n}>();\n\nconst totalRowCount = ref(getTotalRowsCount(params.api));\nconst selectedRowCount = ref(getSelectedRowsCount(params.api));\n\nconst pluralRules = new Intl.PluralRules('en');\nconst numberFormatter = new Intl.NumberFormat('en');\n\nconst output = computed(() => {\n let result = numberFormatter.format(totalRowCount.value) + ' ';\n result += pluralRules.select(totalRowCount.value) === 'one' ? 'row' : 'rows';\n if (selectedRowCount.value > 0) {\n result += ' (' + numberFormatter.format(selectedRowCount.value) + ' selected)';\n }\n return result;\n});\n\nfunction updateRowCounts() {\n totalRowCount.value = getTotalRowsCount(params.api);\n selectedRowCount.value = getSelectedRowsCount(params.api);\n}\n\nonBeforeMount(() => {\n params.api.addEventListener('selectionChanged', updateRowCounts);\n params.api.addEventListener('rowDataUpdated', updateRowCounts);\n params.api.addEventListener('modelUpdated', updateRowCounts);\n});\n\nonBeforeUnmount(() => {\n params.api.removeEventListener('selectionChanged', updateRowCounts);\n params.api.removeEventListener('rowDataUpdated', updateRowCounts);\n params.api.removeEventListener('modelUpdated', updateRowCounts);\n});\n</script>\n\n<template>\n {{ output }}\n</template>\n"],"names":["totalRowCount","ref","getTotalRowsCount","__props","selectedRowCount","getSelectedRowsCount","pluralRules","numberFormatter","output","computed","result","updateRowCounts","onBeforeMount","onBeforeUnmount"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,UAAMA,IAAgBC,EAAIC,EAAkBC,EAAA,OAAO,GAAG,CAAC,GACjDC,IAAmBH,EAAII,EAAqBF,EAAA,OAAO,GAAG,CAAC,GAEvDG,IAAc,IAAI,KAAK,YAAY,IAAI,GACvCC,IAAkB,IAAI,KAAK,aAAa,IAAI,GAE5CC,IAASC,EAAS,MAAM;AAC5B,UAAIC,IAASH,EAAgB,OAAOP,EAAc,KAAK,IAAI;AAC3D,aAAAU,KAAUJ,EAAY,OAAON,EAAc,KAAK,MAAM,QAAQ,QAAQ,QAClEI,EAAiB,QAAQ,MAC3BM,KAAU,OAAOH,EAAgB,OAAOH,EAAiB,KAAK,IAAI,eAE7DM;AAAA,IACT,CAAC;AAED,aAASC,IAAkB;AACzB,MAAAX,EAAc,QAAQE,EAAkBC,SAAO,GAAG,GAClDC,EAAiB,QAAQC,EAAqBF,SAAO,GAAG;AAAA,IAC1D;AAEA,WAAAS,EAAc,MAAM;AAClB,MAAAT,EAAA,OAAO,IAAI,iBAAiB,oBAAoBQ,CAAe,GAC/DR,EAAA,OAAO,IAAI,iBAAiB,kBAAkBQ,CAAe,GAC7DR,EAAA,OAAO,IAAI,iBAAiB,gBAAgBQ,CAAe;AAAA,IAC7D,CAAC,GAEDE,EAAgB,MAAM;AACpB,MAAAV,EAAA,OAAO,IAAI,oBAAoB,oBAAoBQ,CAAe,GAClER,EAAA,OAAO,IAAI,oBAAoB,kBAAkBQ,CAAe,GAChER,EAAA,OAAO,IAAI,oBAAoB,gBAAgBQ,CAAe;AAAA,IAChE,CAAC;;;"}
1
+ {"version":3,"file":"PlAgRowCount.vue.js","sources":["../../../src/components/PlAgDataTable/PlAgRowCount.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { GridApi } from 'ag-grid-enterprise';\nimport { computed, onBeforeMount, onBeforeUnmount, ref } from 'vue';\nimport { getSelectedRowsCount, getTotalRowsCount } from '../../lib';\n\nconst { params } = defineProps<{\n params: { api: GridApi };\n}>();\n\nconst totalRowCount = ref(getTotalRowsCount(params.api));\nconst selectedRowCount = ref(getSelectedRowsCount(params.api));\n\nconst pluralRules = new Intl.PluralRules('en');\nconst numberFormatter = new Intl.NumberFormat('en');\n\nconst output = computed(() => {\n let result = numberFormatter.format(totalRowCount.value) + ' ';\n result += pluralRules.select(totalRowCount.value) === 'one' ? 'row' : 'rows';\n if (selectedRowCount.value > 0) {\n result += ' (' + numberFormatter.format(selectedRowCount.value) + ' selected)';\n }\n return result;\n});\n\nfunction updateRowCounts() {\n totalRowCount.value = getTotalRowsCount(params.api);\n selectedRowCount.value = getSelectedRowsCount(params.api);\n}\n\nonBeforeMount(() => {\n params.api.addEventListener('selectionChanged', updateRowCounts);\n params.api.addEventListener('rowDataUpdated', updateRowCounts);\n params.api.addEventListener('modelUpdated', updateRowCounts);\n});\n\nonBeforeUnmount(() => {\n params.api.removeEventListener('selectionChanged', updateRowCounts);\n params.api.removeEventListener('rowDataUpdated', updateRowCounts);\n params.api.removeEventListener('modelUpdated', updateRowCounts);\n});\n</script>\n\n<template>\n {{ output }}\n</template>\n"],"names":["totalRowCount","ref","getTotalRowsCount","__props","selectedRowCount","getSelectedRowsCount","pluralRules","numberFormatter","output","computed","result","updateRowCounts","onBeforeMount","onBeforeUnmount"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,UAAMA,IAAgBC,EAAIC,EAAkBC,EAAA,OAAO,GAAG,CAAC,GACjDC,IAAmBH,EAAII,EAAqBF,EAAA,OAAO,GAAG,CAAC,GAEvDG,IAAc,IAAI,KAAK,YAAY,IAAI,GACvCC,IAAkB,IAAI,KAAK,aAAa,IAAI,GAE5CC,IAASC,EAAS,MAAM;AAC5B,UAAIC,IAASH,EAAgB,OAAOP,EAAc,KAAK,IAAI;AAC3D,aAAAU,KAAUJ,EAAY,OAAON,EAAc,KAAK,MAAM,QAAQ,QAAQ,QAClEI,EAAiB,QAAQ,MAC3BM,KAAU,OAAOH,EAAgB,OAAOH,EAAiB,KAAK,IAAI,eAE7DM;AAAA,IACT,CAAC;AAED,aAASC,IAAkB;AACzB,MAAAX,EAAc,QAAQE,EAAkBC,SAAO,GAAG,GAClDC,EAAiB,QAAQC,EAAqBF,SAAO,GAAG;AAAA,IAC1D;AAEA,WAAAS,EAAc,MAAM;AAClB,MAAAT,EAAA,OAAO,IAAI,iBAAiB,oBAAoBQ,CAAe,GAC/DR,EAAA,OAAO,IAAI,iBAAiB,kBAAkBQ,CAAe,GAC7DR,EAAA,OAAO,IAAI,iBAAiB,gBAAgBQ,CAAe;AAAA,IAC7D,CAAC,GAEDE,EAAgB,MAAM;AACpB,MAAAV,EAAA,OAAO,IAAI,oBAAoB,oBAAoBQ,CAAe,GAClER,EAAA,OAAO,IAAI,oBAAoB,kBAAkBQ,CAAe,GAChER,EAAA,OAAO,IAAI,oBAAoB,gBAAgBQ,CAAe;AAAA,IAChE,CAAC;;;"}
@@ -7,7 +7,7 @@
7
7
  .pl-ag-chart-stacked-bar-cell{height:100%;display:flex;flex-direction:row;align-items:center}.pl-ag-chart-stacked-bar-cell__not-ready{color:var(--txt-03)!important}
8
8
  .pl-ag-chart-histogram-cell{height:100%;display:flex;flex-direction:row;align-items:center}.pl-ag-chart-histogram-cell__not-ready{color:var(--txt-03)!important}
9
9
  .pl-ag-cell-status-tag{height:100%;padding:0 12px}`)),document.head.appendChild(o)}}catch(r){console.error("vite-plugin-css-injected-by-js",r)}})();
10
- import { defineComponent as C, ref as c, computed as h, onBeforeMount as w, onBeforeUnmount as b, createElementBlock as d, openBlock as l, normalizeClass as n, unref as t, createCommentVNode as u, createBlock as y, toDisplayString as B } from "vue";
10
+ import { defineComponent as C, ref as c, computed as h, onBeforeMount as w, onBeforeUnmount as b, createElementBlock as d, openBlock as i, normalizeClass as n, unref as t, createCommentVNode as u, createBlock as y, toDisplayString as B } from "vue";
11
11
  import { PlCheckbox as E } from "@milaboratories/uikit";
12
12
  import r from "./pl-ag-row-num-checkbox.module.scss.js";
13
13
 
@@ -30,10 +30,9 @@ import "canonicalize";
30
30
 
31
31
 
32
32
  import { isSelectionEnabled as p } from "../../AgGridVue/selection.js";
33
- import "../PlMultiSequenceAlignment/data.js";
34
33
  import "@zip.js/zip.js";
35
34
  import "../../composition/fileContent.js";
36
- const Y = /* @__PURE__ */ C({
35
+ const X = /* @__PURE__ */ C({
37
36
  __name: "PlAgRowNumCheckbox",
38
37
  props: {
39
38
  params: {}
@@ -41,21 +40,21 @@ const Y = /* @__PURE__ */ C({
41
40
  setup(f) {
42
41
  const e = f, a = e.params.api, o = c(!!e.params.node.isSelected()), v = h(() => o.value || p(a)), k = c(p(a)), m = () => {
43
42
  o.value = e.params.node.isSelected() !== !1;
44
- }, S = (i) => {
45
- p(a) && (e.params.node.setSelected(i), m());
43
+ }, S = (l) => {
44
+ p(a) && (e.params.node.setSelected(l), m());
46
45
  };
47
46
  return w(() => {
48
47
  e.params.node.addEventListener("rowSelected", m);
49
48
  }), b(() => {
50
49
  e.params.node.removeEventListener("rowSelected", m);
51
- }), (i, s) => (l(), d("div", {
50
+ }), (l, s) => (i(), d("div", {
52
51
  class: n([t(r).container, { [t(r)["allowed-selection"]]: k.value }, "d-flex", "justify-center", "align-center"])
53
52
  }, [
54
- o.value ? u("", !0) : (l(), d("div", {
53
+ o.value ? u("", !0) : (i(), d("div", {
55
54
  key: 0,
56
55
  class: n([t(r).text])
57
- }, B(i.params.value), 3)),
58
- v.value ? (l(), y(t(E), {
56
+ }, B(l.params.value), 3)),
57
+ v.value ? (i(), y(t(E), {
59
58
  key: 1,
60
59
  modelValue: o.value,
61
60
  "onUpdate:modelValue": [
@@ -68,6 +67,6 @@ const Y = /* @__PURE__ */ C({
68
67
  }
69
68
  });
70
69
  export {
71
- Y as default
70
+ X as default
72
71
  };
73
72
  //# sourceMappingURL=PlAgRowNumCheckbox.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlAgRowNumCheckbox.vue.js","sources":["../../../src/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ICellRendererParams } from 'ag-grid-enterprise';\nimport { PlCheckbox } from '@milaboratories/uikit';\nimport { ref, computed, onBeforeMount, onBeforeUnmount } from 'vue';\nimport $styles from './pl-ag-row-num-checkbox.module.scss';\nimport { isSelectionEnabled } from '../../lib';\n\nconst props = defineProps<{ params: ICellRendererParams }>();\n\nconst api = props.params.api;\nconst isChecked = ref(!!props.params.node.isSelected());\nconst forceShowCheckbox = computed(() => isChecked.value || isSelectionEnabled(api));\nconst allowedSelection = ref(isSelectionEnabled(api));\n\nconst updateSelection = () => {\n isChecked.value = props.params.node.isSelected() !== false;\n};\n\nconst setSelection = (val: boolean) => {\n if (isSelectionEnabled(api)) {\n props.params.node.setSelected(val);\n updateSelection();\n }\n};\n\nonBeforeMount(() => {\n props.params.node.addEventListener('rowSelected', updateSelection);\n});\n\nonBeforeUnmount(() => {\n props.params.node.removeEventListener('rowSelected', updateSelection);\n});\n</script>\n\n<template>\n <div :class=\"[$styles.container, { [$styles['allowed-selection']]: allowedSelection }, 'd-flex', 'justify-center', 'align-center']\">\n <div v-if=\"!isChecked\" :class=\"[$styles.text]\">{{ params.value }}</div>\n <PlCheckbox\n v-if=\"forceShowCheckbox\"\n v-model=\"isChecked\"\n :class=\"[$styles.checkbox, isChecked && $styles.checked]\"\n @update:modelValue=\"setSelection\"\n />\n </div>\n</template>\n"],"names":["props","__props","api","isChecked","ref","forceShowCheckbox","computed","isSelectionEnabled","allowedSelection","updateSelection","setSelection","val","onBeforeMount","onBeforeUnmount"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,UAAMA,IAAQC,GAERC,IAAMF,EAAM,OAAO,KACnBG,IAAYC,EAAI,CAAC,CAACJ,EAAM,OAAO,KAAK,YAAY,GAChDK,IAAoBC,EAAS,MAAMH,EAAU,SAASI,EAAmBL,CAAG,CAAC,GAC7EM,IAAmBJ,EAAIG,EAAmBL,CAAG,CAAC,GAE9CO,IAAkB,MAAM;AAC5B,MAAAN,EAAU,QAAQH,EAAM,OAAO,KAAK,iBAAiB;AAAA,IACvD,GAEMU,IAAe,CAACC,MAAiB;AACrC,MAAIJ,EAAmBL,CAAG,MACxBF,EAAM,OAAO,KAAK,YAAYW,CAAG,GACjCF,EAAA;AAAA,IAEJ;AAEA,WAAAG,EAAc,MAAM;AAClB,MAAAZ,EAAM,OAAO,KAAK,iBAAiB,eAAeS,CAAe;AAAA,IACnE,CAAC,GAEDI,EAAgB,MAAM;AACpB,MAAAb,EAAM,OAAO,KAAK,oBAAoB,eAAeS,CAAe;AAAA,IACtE,CAAC;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"PlAgRowNumCheckbox.vue.js","sources":["../../../src/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ICellRendererParams } from 'ag-grid-enterprise';\nimport { PlCheckbox } from '@milaboratories/uikit';\nimport { ref, computed, onBeforeMount, onBeforeUnmount } from 'vue';\nimport $styles from './pl-ag-row-num-checkbox.module.scss';\nimport { isSelectionEnabled } from '../../lib';\n\nconst props = defineProps<{ params: ICellRendererParams }>();\n\nconst api = props.params.api;\nconst isChecked = ref(!!props.params.node.isSelected());\nconst forceShowCheckbox = computed(() => isChecked.value || isSelectionEnabled(api));\nconst allowedSelection = ref(isSelectionEnabled(api));\n\nconst updateSelection = () => {\n isChecked.value = props.params.node.isSelected() !== false;\n};\n\nconst setSelection = (val: boolean) => {\n if (isSelectionEnabled(api)) {\n props.params.node.setSelected(val);\n updateSelection();\n }\n};\n\nonBeforeMount(() => {\n props.params.node.addEventListener('rowSelected', updateSelection);\n});\n\nonBeforeUnmount(() => {\n props.params.node.removeEventListener('rowSelected', updateSelection);\n});\n</script>\n\n<template>\n <div :class=\"[$styles.container, { [$styles['allowed-selection']]: allowedSelection }, 'd-flex', 'justify-center', 'align-center']\">\n <div v-if=\"!isChecked\" :class=\"[$styles.text]\">{{ params.value }}</div>\n <PlCheckbox\n v-if=\"forceShowCheckbox\"\n v-model=\"isChecked\"\n :class=\"[$styles.checkbox, isChecked && $styles.checked]\"\n @update:modelValue=\"setSelection\"\n />\n </div>\n</template>\n"],"names":["props","__props","api","isChecked","ref","forceShowCheckbox","computed","isSelectionEnabled","allowedSelection","updateSelection","setSelection","val","onBeforeMount","onBeforeUnmount"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,UAAMA,IAAQC,GAERC,IAAMF,EAAM,OAAO,KACnBG,IAAYC,EAAI,CAAC,CAACJ,EAAM,OAAO,KAAK,YAAY,GAChDK,IAAoBC,EAAS,MAAMH,EAAU,SAASI,EAAmBL,CAAG,CAAC,GAC7EM,IAAmBJ,EAAIG,EAAmBL,CAAG,CAAC,GAE9CO,IAAkB,MAAM;AAC5B,MAAAN,EAAU,QAAQH,EAAM,OAAO,KAAK,iBAAiB;AAAA,IACvD,GAEMU,IAAe,CAACC,MAAiB;AACrC,MAAIJ,EAAmBL,CAAG,MACxBF,EAAM,OAAO,KAAK,YAAYW,CAAG,GACjCF,EAAA;AAAA,IAEJ;AAEA,WAAAG,EAAc,MAAM;AAClB,MAAAZ,EAAM,OAAO,KAAK,iBAAiB,eAAeS,CAAe;AAAA,IACnE,CAAC,GAEDI,EAAgB,MAAM;AACpB,MAAAb,EAAM,OAAO,KAAK,oBAAoB,eAAeS,CAAe;AAAA,IACtE,CAAC;;;;;;;;;;;;;;;;;;;"}
@@ -29,10 +29,9 @@ import "canonicalize";
29
29
 
30
30
 
31
31
  import { getSelectedRowsCount as d, getTotalRowsCount as u, isSelectionEnabled as c, deselectAll as y, selectAll as h } from "../AgGridVue/selection.js";
32
- import "./PlMultiSequenceAlignment/data.js";
33
32
  import "@zip.js/zip.js";
34
33
  import "../composition/fileContent.js";
35
- const k = { style: { position: "absolute", inset: "0", display: "flex", "justify-content": "center", "align-items": "center" } }, b = { key: 1 }, ee = /* @__PURE__ */ E({
34
+ const k = { style: { position: "absolute", inset: "0", display: "flex", "justify-content": "center", "align-items": "center" } }, b = { key: 1 }, _ = /* @__PURE__ */ E({
36
35
  __name: "PlAgRowNumHeader",
37
36
  props: {
38
37
  params: {}
@@ -67,6 +66,6 @@ const k = { style: { position: "absolute", inset: "0", display: "flex", "justify
67
66
  }
68
67
  });
69
68
  export {
70
- ee as default
69
+ _ as default
71
70
  };
72
71
  //# sourceMappingURL=PlAgRowNumHeader.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlAgRowNumHeader.vue.js","sources":["../../src/components/PlAgRowNumHeader.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { PlCheckbox } from '@milaboratories/uikit';\nimport type { IHeaderParams } from 'ag-grid-enterprise';\nimport { computed, onBeforeMount, onBeforeUnmount, ref } from 'vue';\nimport { deselectAll, getSelectedRowsCount, getTotalRowsCount, isSelectionEnabled, selectAll } from '../lib';\n\nconst { params } = defineProps<{\n params: IHeaderParams;\n}>();\n\nconst selectedRowCount = ref(getSelectedRowsCount(params.api));\nconst totalRowCount = ref(getTotalRowsCount(params.api));\nconst isSelectable = ref(isSelectionEnabled(params.api));\n\nconst someRowsSelected = computed(() =>\n selectedRowCount.value > 0,\n);\n\nconst allRowsSelected = computed(() =>\n someRowsSelected.value\n && selectedRowCount.value === totalRowCount.value,\n);\n\nfunction toggleSelectAll() {\n if (someRowsSelected.value) {\n deselectAll(params.api);\n } else {\n selectAll(params.api);\n }\n}\n\nfunction updateRowCounts() {\n selectedRowCount.value = getSelectedRowsCount(params.api);\n totalRowCount.value = getTotalRowsCount(params.api);\n}\n\nfunction updateIsSelectable() {\n isSelectable.value = isSelectionEnabled(params.api);\n}\n\nonBeforeMount(() => {\n params.api.addEventListener('selectionChanged', updateRowCounts);\n params.api.addEventListener('rowDataUpdated', updateRowCounts);\n params.api.addEventListener('modelUpdated', updateRowCounts);\n params.api.addEventListener('stateUpdated', updateIsSelectable);\n});\n\nonBeforeUnmount(() => {\n params.api.removeEventListener('selectionChanged', updateRowCounts);\n params.api.removeEventListener('rowDataUpdated', updateRowCounts);\n params.api.removeEventListener('modelUpdated', updateRowCounts);\n params.api.removeEventListener('stateUpdated', updateIsSelectable);\n});\n</script>\n\n<template>\n <div\n style=\"\n position: absolute;\n inset: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n \"\n >\n <PlCheckbox\n v-if=\"isSelectable\"\n :model-value=\"someRowsSelected\"\n :indeterminate=\"someRowsSelected && !allRowsSelected\"\n @update:model-value=\"toggleSelectAll\"\n />\n <span v-else>\n {{ params.displayName }}\n </span>\n </div>\n</template>\n"],"names":["selectedRowCount","ref","getSelectedRowsCount","__props","totalRowCount","getTotalRowsCount","isSelectable","isSelectionEnabled","someRowsSelected","computed","allRowsSelected","toggleSelectAll","deselectAll","selectAll","updateRowCounts","updateIsSelectable","onBeforeMount","onBeforeUnmount"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,UAAMA,IAAmBC,EAAIC,EAAqBC,EAAA,OAAO,GAAG,CAAC,GACvDC,IAAgBH,EAAII,EAAkBF,EAAA,OAAO,GAAG,CAAC,GACjDG,IAAeL,EAAIM,EAAmBJ,EAAA,OAAO,GAAG,CAAC,GAEjDK,IAAmBC;AAAA,MAAS,MAChCT,EAAiB,QAAQ;AAAA,IAAA,GAGrBU,IAAkBD;AAAA,MAAS,MAC/BD,EAAiB,SACdR,EAAiB,UAAUI,EAAc;AAAA,IAAA;AAG9C,aAASO,IAAkB;AACzB,MAAIH,EAAiB,QACnBI,EAAYT,EAAA,OAAO,GAAG,IAEtBU,EAAUV,EAAA,OAAO,GAAG;AAAA,IAExB;AAEA,aAASW,IAAkB;AACzB,MAAAd,EAAiB,QAAQE,EAAqBC,SAAO,GAAG,GACxDC,EAAc,QAAQC,EAAkBF,SAAO,GAAG;AAAA,IACpD;AAEA,aAASY,IAAqB;AAC5B,MAAAT,EAAa,QAAQC,EAAmBJ,SAAO,GAAG;AAAA,IACpD;AAEA,WAAAa,EAAc,MAAM;AAClB,MAAAb,EAAA,OAAO,IAAI,iBAAiB,oBAAoBW,CAAe,GAC/DX,EAAA,OAAO,IAAI,iBAAiB,kBAAkBW,CAAe,GAC7DX,EAAA,OAAO,IAAI,iBAAiB,gBAAgBW,CAAe,GAC3DX,EAAA,OAAO,IAAI,iBAAiB,gBAAgBY,CAAkB;AAAA,IAChE,CAAC,GAEDE,EAAgB,MAAM;AACpB,MAAAd,EAAA,OAAO,IAAI,oBAAoB,oBAAoBW,CAAe,GAClEX,EAAA,OAAO,IAAI,oBAAoB,kBAAkBW,CAAe,GAChEX,EAAA,OAAO,IAAI,oBAAoB,gBAAgBW,CAAe,GAC9DX,EAAA,OAAO,IAAI,oBAAoB,gBAAgBY,CAAkB;AAAA,IACnE,CAAC;;;;;;;;;;"}
1
+ {"version":3,"file":"PlAgRowNumHeader.vue.js","sources":["../../src/components/PlAgRowNumHeader.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { PlCheckbox } from '@milaboratories/uikit';\nimport type { IHeaderParams } from 'ag-grid-enterprise';\nimport { computed, onBeforeMount, onBeforeUnmount, ref } from 'vue';\nimport { deselectAll, getSelectedRowsCount, getTotalRowsCount, isSelectionEnabled, selectAll } from '../lib';\n\nconst { params } = defineProps<{\n params: IHeaderParams;\n}>();\n\nconst selectedRowCount = ref(getSelectedRowsCount(params.api));\nconst totalRowCount = ref(getTotalRowsCount(params.api));\nconst isSelectable = ref(isSelectionEnabled(params.api));\n\nconst someRowsSelected = computed(() =>\n selectedRowCount.value > 0,\n);\n\nconst allRowsSelected = computed(() =>\n someRowsSelected.value\n && selectedRowCount.value === totalRowCount.value,\n);\n\nfunction toggleSelectAll() {\n if (someRowsSelected.value) {\n deselectAll(params.api);\n } else {\n selectAll(params.api);\n }\n}\n\nfunction updateRowCounts() {\n selectedRowCount.value = getSelectedRowsCount(params.api);\n totalRowCount.value = getTotalRowsCount(params.api);\n}\n\nfunction updateIsSelectable() {\n isSelectable.value = isSelectionEnabled(params.api);\n}\n\nonBeforeMount(() => {\n params.api.addEventListener('selectionChanged', updateRowCounts);\n params.api.addEventListener('rowDataUpdated', updateRowCounts);\n params.api.addEventListener('modelUpdated', updateRowCounts);\n params.api.addEventListener('stateUpdated', updateIsSelectable);\n});\n\nonBeforeUnmount(() => {\n params.api.removeEventListener('selectionChanged', updateRowCounts);\n params.api.removeEventListener('rowDataUpdated', updateRowCounts);\n params.api.removeEventListener('modelUpdated', updateRowCounts);\n params.api.removeEventListener('stateUpdated', updateIsSelectable);\n});\n</script>\n\n<template>\n <div\n style=\"\n position: absolute;\n inset: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n \"\n >\n <PlCheckbox\n v-if=\"isSelectable\"\n :model-value=\"someRowsSelected\"\n :indeterminate=\"someRowsSelected && !allRowsSelected\"\n @update:model-value=\"toggleSelectAll\"\n />\n <span v-else>\n {{ params.displayName }}\n </span>\n </div>\n</template>\n"],"names":["selectedRowCount","ref","getSelectedRowsCount","__props","totalRowCount","getTotalRowsCount","isSelectable","isSelectionEnabled","someRowsSelected","computed","allRowsSelected","toggleSelectAll","deselectAll","selectAll","updateRowCounts","updateIsSelectable","onBeforeMount","onBeforeUnmount"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,UAAMA,IAAmBC,EAAIC,EAAqBC,EAAA,OAAO,GAAG,CAAC,GACvDC,IAAgBH,EAAII,EAAkBF,EAAA,OAAO,GAAG,CAAC,GACjDG,IAAeL,EAAIM,EAAmBJ,EAAA,OAAO,GAAG,CAAC,GAEjDK,IAAmBC;AAAA,MAAS,MAChCT,EAAiB,QAAQ;AAAA,IAAA,GAGrBU,IAAkBD;AAAA,MAAS,MAC/BD,EAAiB,SACdR,EAAiB,UAAUI,EAAc;AAAA,IAAA;AAG9C,aAASO,IAAkB;AACzB,MAAIH,EAAiB,QACnBI,EAAYT,EAAA,OAAO,GAAG,IAEtBU,EAAUV,EAAA,OAAO,GAAG;AAAA,IAExB;AAEA,aAASW,IAAkB;AACzB,MAAAd,EAAiB,QAAQE,EAAqBC,SAAO,GAAG,GACxDC,EAAc,QAAQC,EAAkBF,SAAO,GAAG;AAAA,IACpD;AAEA,aAASY,IAAqB;AAC5B,MAAAT,EAAa,QAAQC,EAAmBJ,SAAO,GAAG;AAAA,IACpD;AAEA,WAAAa,EAAc,MAAM;AAClB,MAAAb,EAAA,OAAO,IAAI,iBAAiB,oBAAoBW,CAAe,GAC/DX,EAAA,OAAO,IAAI,iBAAiB,kBAAkBW,CAAe,GAC7DX,EAAA,OAAO,IAAI,iBAAiB,gBAAgBW,CAAe,GAC3DX,EAAA,OAAO,IAAI,iBAAiB,gBAAgBY,CAAkB;AAAA,IAChE,CAAC,GAEDE,EAAgB,MAAM;AACpB,MAAAd,EAAA,OAAO,IAAI,oBAAoB,oBAAoBW,CAAe,GAClEX,EAAA,OAAO,IAAI,oBAAoB,kBAAkBW,CAAe,GAChEX,EAAA,OAAO,IAAI,oBAAoB,gBAAgBW,CAAe,GAC9DX,EAAA,OAAO,IAAI,oBAAoB,gBAAgBY,CAAkB;AAAA,IACnE,CAAC;;;;;;;;;;"}
package/dist/index.js CHANGED
@@ -5,16 +5,16 @@
5
5
  .pl-ag-chart-stacked-bar-cell{height:100%;display:flex;flex-direction:row;align-items:center}.pl-ag-chart-stacked-bar-cell__not-ready{color:var(--txt-03)!important}`)),document.head.appendChild(r)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
6
6
 
7
7
  import { default as m } from "./components/BlockLayout.vue.js";
8
- import { default as p, default as u } from "./components/PlAgDataTable/PlAgDataTableV2.vue.js";
8
+ import { default as p, default as d } from "./components/PlAgDataTable/PlAgDataTableV2.vue.js";
9
9
  import { default as i } from "./components/PlAgDataTable/PlAgOverlayLoading.vue.js";
10
- import { default as x } from "./components/PlAgDataTable/PlAgOverlayNoRows.vue.js";
10
+ import { default as n } from "./components/PlAgDataTable/PlAgOverlayNoRows.vue.js";
11
11
 
12
12
  import { default as A } from "./components/ValueOrErrorsComponent.vue.js";
13
13
  import { useAgGridOptions as C } from "./AgGridVue/useAgGridOptions.js";
14
14
  import { createAgGridColDef as b } from "./AgGridVue/createAgGridColDef.js";
15
- import { deselectAll as w, getSelectedRowsCount as R, getTotalRowsCount as S, isSelectionEnabled as T, selectAll as D } from "./AgGridVue/selection.js";
16
- import { default as v } from "./components/PlAgColumnHeader/PlAgColumnHeader.vue.js";
17
- import { default as O } from "./components/PlAgCellFile/PlAgCellFile.vue.js";
15
+ import { deselectAll as w, getSelectedRowsCount as R, getTotalRowsCount as T, isSelectionEnabled as v, selectAll as D } from "./AgGridVue/selection.js";
16
+ import { default as V } from "./components/PlAgColumnHeader/PlAgColumnHeader.vue.js";
17
+ import { default as M } from "./components/PlAgCellFile/PlAgCellFile.vue.js";
18
18
  import { default as G } from "./components/PlAgCellProgress/PlAgCellProgress.vue.js";
19
19
  import { default as k } from "./components/PlAgCellStatusTag/PlAgCellStatusTag.vue.js";
20
20
 
@@ -23,22 +23,22 @@ import { default as B } from "./components/PlAgChartHistogramCell/PlAgChartHisto
23
23
  import { default as H } from "./components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue.js";
24
24
 
25
25
  import { usePlDataTableSettingsV2 as L } from "./components/PlAgDataTable/types.js";
26
- import { PlAgDataTableRowNumberColId as j, autoSizeRowNumberColumn as q, makeRowNumberColDef as z } from "./components/PlAgDataTable/sources/row-number.js";
26
+ import { PlAgDataTableRowNumberColId as j, autoSizeRowNumberColumn as z, makeRowNumberColDef as U } from "./components/PlAgDataTable/sources/row-number.js";
27
27
  import { DeferredCircular as J, ensureNodeVisible as K } from "./components/PlAgDataTable/sources/focus-row.js";
28
28
  import { defaultMainMenuItems as W } from "./components/PlAgDataTable/sources/menu-items.js";
29
29
  import { default as Y } from "./components/PlAgCsvExporter/PlAgCsvExporter.vue.js";
30
30
  import { default as $ } from "./components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue.js";
31
31
  import { default as re } from "./components/PlAgGridColumnManager/PlAgGridColumnManager.vue.js";
32
32
  import { default as te } from "./components/PlTableFilters/PlTableFiltersV2.vue.js";
33
- import { default as ae } from "./components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue.js";
34
- import { default as me } from "./components/PlAnnotations/components/PlAnnotations.vue.js";
35
- import { default as pe } from "./components/PlAnnotations/components/PlAnnotationsModal.vue.js";
36
- import { default as de } from "./components/PlBtnExportArchive/PlBtnExportArchive.vue.js";
37
- import { defineApp as ne, useSdkPlugin as xe } from "./defineApp.js";
33
+ import { default as ae } from "./components/PlAnnotations/components/PlAnnotations.vue.js";
34
+ import { default as me } from "./components/PlAnnotations/components/PlAnnotationsModal.vue.js";
35
+ import { default as pe } from "./components/PlBtnExportArchive/PlBtnExportArchive.vue.js";
36
+ import { default as ue } from "./components/PlAdvancedFilter/PlAdvancedFilter.vue.js";
37
+ import { defineApp as xe, useSdkPlugin as ne } from "./defineApp.js";
38
38
  import { createModel as Ae } from "./createModel.js";
39
39
  import { defineStore as Ce } from "./defineStore.js";
40
40
  import { AgGridTheme as be, activateAgGrid as Ee } from "./aggrid.js";
41
- import { MultiError as Re, UnresolvedError as Se, ensureError as Te, formatZodError as De, identity as Ve, isDefined as ve, isZodError as Me, unwrapValueOrErrors as Oe, wrapOptionalResult as he, wrapValueOrErrors as Ge } from "./utils.js";
41
+ import { MultiError as Re, UnresolvedError as Te, ensureError as ve, formatZodError as De, identity as Se, isDefined as Ve, isZodError as Oe, unwrapValueOrErrors as Me, wrapOptionalResult as he, wrapValueOrErrors as Ge } from "./utils.js";
42
42
  import { objectHash as ke } from "./objectHash.js";
43
43
  import { computedResult as Be } from "./computedResult.js";
44
44
  import { ReactiveFileContent as He } from "./composition/fileContent.js";
@@ -48,53 +48,53 @@ export {
48
48
  m as BlockLayout,
49
49
  J as DeferredCircular,
50
50
  Re as MultiError,
51
- O as PlAgCellFile,
51
+ ue as PlAdvancedFilter,
52
+ M as PlAgCellFile,
52
53
  G as PlAgCellProgress,
53
54
  k as PlAgCellStatusTag,
54
55
  B as PlAgChartHistogramCell,
55
56
  H as PlAgChartStackedBarCell,
56
- v as PlAgColumnHeader,
57
+ V as PlAgColumnHeader,
57
58
  Y as PlAgCsvExporter,
58
59
  j as PlAgDataTableRowNumberColId,
59
60
  p as PlAgDataTableV2,
60
61
  re as PlAgGridColumnManager,
61
62
  i as PlAgOverlayLoading,
62
- x as PlAgOverlayNoRows,
63
+ n as PlAgOverlayNoRows,
63
64
  $ as PlAgTextAndButtonCell,
64
- me as PlAnnotations,
65
- pe as PlAnnotationsModal,
66
- de as PlBtnExportArchive,
67
- u as PlDataTableV2,
68
- ae as PlMultiSequenceAlignment,
65
+ ae as PlAnnotations,
66
+ me as PlAnnotationsModal,
67
+ pe as PlBtnExportArchive,
68
+ d as PlDataTableV2,
69
69
  te as PlTableFiltersV2,
70
70
  He as ReactiveFileContent,
71
- Se as UnresolvedError,
71
+ Te as UnresolvedError,
72
72
  A as ValueOrErrorsComponent,
73
73
  Ee as activateAgGrid,
74
- q as autoSizeRowNumberColumn,
74
+ z as autoSizeRowNumberColumn,
75
75
  Be as computedResult,
76
76
  b as createAgGridColDef,
77
77
  Ae as createModel,
78
78
  W as defaultMainMenuItems,
79
- ne as defineApp,
79
+ xe as defineApp,
80
80
  Ce as defineStore,
81
81
  w as deselectAll,
82
- Te as ensureError,
82
+ ve as ensureError,
83
83
  K as ensureNodeVisible,
84
84
  De as formatZodError,
85
85
  R as getSelectedRowsCount,
86
- S as getTotalRowsCount,
87
- Ve as identity,
88
- ve as isDefined,
89
- T as isSelectionEnabled,
90
- Me as isZodError,
91
- z as makeRowNumberColDef,
86
+ T as getTotalRowsCount,
87
+ Se as identity,
88
+ Ve as isDefined,
89
+ v as isSelectionEnabled,
90
+ Oe as isZodError,
91
+ U as makeRowNumberColDef,
92
92
  ke as objectHash,
93
93
  D as selectAll,
94
- Oe as unwrapValueOrErrors,
94
+ Me as unwrapValueOrErrors,
95
95
  C as useAgGridOptions,
96
96
  L as usePlDataTableSettingsV2,
97
- xe as useSdkPlugin,
97
+ ne as useSdkPlugin,
98
98
  he as wrapOptionalResult,
99
99
  Ge as wrapValueOrErrors
100
100
  };
package/dist/lib.d.ts CHANGED
@@ -16,9 +16,9 @@ export * from './components/PlAgCsvExporter';
16
16
  export * from './components/PlAgTextAndButtonCell';
17
17
  export * from './components/PlAgGridColumnManager';
18
18
  export * from './components/PlTableFilters';
19
- export * from './components/PlMultiSequenceAlignment';
20
19
  export * from './components/PlAnnotations';
21
20
  export * from './components/PlBtnExportArchive';
21
+ export * from './components/PlAdvancedFilter';
22
22
  export * from './defineApp';
23
23
  export * from './createModel';
24
24
  export * from './types';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platforma-sdk/ui-vue",
3
- "version": "1.45.34",
3
+ "version": "1.45.36",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "styles": "dist/index.js",
@@ -15,7 +15,6 @@
15
15
  "@types/node": "~24.5.2",
16
16
  "@types/semver": "^7.7.0",
17
17
  "@types/d3-format": "^3.0.4",
18
- "@milaboratories/miplots4": "^1.0.145",
19
18
  "ag-grid-enterprise": "~34.1.2",
20
19
  "ag-grid-vue3": "~34.1.2",
21
20
  "canonicalize": "~2.1.0",
@@ -27,9 +26,9 @@
27
26
  "zod": "~3.23.8",
28
27
  "@zip.js/zip.js": "^2.8.2",
29
28
  "@milaboratories/biowasm-tools": "2.0.0",
30
- "@milaboratories/uikit": "2.6.1",
31
- "@platforma-sdk/model": "1.45.30",
32
- "@milaboratories/ptabler-expression-js": "1.1.2"
29
+ "@milaboratories/ptabler-expression-js": "1.1.3",
30
+ "@platforma-sdk/model": "1.45.35",
31
+ "@milaboratories/uikit": "2.6.2"
33
32
  },
34
33
  "devDependencies": {
35
34
  "happy-dom": "^15.11.7",
@@ -44,10 +43,10 @@
44
43
  "yarpm": "^1.2.0",
45
44
  "fast-json-patch": "^3.1.1",
46
45
  "@faker-js/faker": "^9.2.0",
47
- "@milaboratories/eslint-config": "1.0.5",
46
+ "@milaboratories/ts-configs": "1.0.6",
48
47
  "@milaboratories/build-configs": "1.0.8",
49
48
  "@milaboratories/helpers": "1.12.0",
50
- "@milaboratories/ts-configs": "1.0.6",
49
+ "@milaboratories/eslint-config": "1.0.5",
51
50
  "@milaboratories/ts-builder": "1.0.5"
52
51
  },
53
52
  "scripts": {
@@ -0,0 +1,53 @@
1
+ <script lang="ts" setup>
2
+ import type { Operand } from './types';
3
+
4
+ const props = defineProps<{
5
+ active: Operand;
6
+ disabled: boolean;
7
+ onSelect: (op: Operand) => void;
8
+ }>();
9
+
10
+ const OPTIONS: Operand[] = ['and', 'or'];
11
+ </script>
12
+ <template>
13
+ <div v-bind="$attrs" :class="$style.block">
14
+ <div
15
+ v-for="op in OPTIONS"
16
+ :key="op"
17
+ :class="[$style.operand, {[$style.active]: op === props.active && !props.disabled}]"
18
+ @click="!props.disabled && props.onSelect(op)"
19
+ >
20
+ {{ op }}
21
+ </div>
22
+ </div>
23
+ </template>
24
+ <style module>
25
+ .block {
26
+ width: 100%;
27
+ display: flex;
28
+ gap: 4px;
29
+ justify-content: center;
30
+ height: 72px;
31
+ align-items: center;
32
+ }
33
+ .operand {
34
+ border-radius: 16px;
35
+ width: 64px;
36
+ height: 32px;
37
+ display: flex;
38
+ justify-content: center;
39
+ align-items: center;
40
+ text-transform: uppercase;
41
+ font-weight: 600;
42
+
43
+ color: var(--txt-03);
44
+ border: 1px solid var(--color-div-grey);
45
+ background: transparent;
46
+ cursor: pointer;
47
+ }
48
+ .operand.active {
49
+ color: var(--txt-01);
50
+ background: #fff;
51
+ border: 1px solid var(--txt-01);
52
+ }
53
+ </style>