@mobilon-dev/chotto 0.3.78 → 0.3.79
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.
- package/dist/chotto.css +1 -1
- package/dist/components/2_blocks/CommunicationPanel/CommunicationPanel.vue.js +210 -187
- package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationAttributes.js +60 -62
- package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationChannels.js +73 -49
- package/dist/types/components/2_blocks/CommunicationPanel/CommunicationPanel.vue.d.ts +4 -0
- package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationAttributes.d.ts +5 -3
- package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationChannels.d.ts +16 -2
- package/dist/types/components/2_blocks/CommunicationPanel/stories/CommunicationPanel.stories.d.ts +8 -0
- package/package.json +1 -1
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import { ref as d, computed as
|
|
1
|
+
import { ref as d, computed as i, watch as H, onMounted as Ue, onUnmounted as Ge, createElementBlock as a, openBlock as s, createCommentVNode as f, unref as n, Fragment as A, renderList as W, normalizeClass as v, createBlock as y, createVNode as B, createElementVNode as c, withCtx as U, resolveDynamicComponent as I, toDisplayString as P, normalizeStyle as Je, nextTick as ve } from "vue";
|
|
2
2
|
import G from "../../1_atoms/Tooltip/Tooltip.vue.js";
|
|
3
|
-
import { useCommunicationChannels as
|
|
4
|
-
import { useCommunicationMenu as
|
|
5
|
-
import { useCommunicationAttributes as
|
|
6
|
-
import { useCommunicationActions as
|
|
7
|
-
import { useCommunicationSubMenu as
|
|
8
|
-
import { useCommunicationDialogSync as
|
|
9
|
-
import { useCommunicationPlaceholder as
|
|
10
|
-
import
|
|
11
|
-
import
|
|
3
|
+
import { useCommunicationChannels as Ke } from "./composables/useCommunicationChannels.js";
|
|
4
|
+
import { useCommunicationMenu as Qe } from "./composables/useCommunicationMenu.js";
|
|
5
|
+
import { useCommunicationAttributes as Xe, isAttributeBlocked as Ye, getAttributeStatusClass as ye, isAttributeConfirming as Ce } from "./composables/useCommunicationAttributes.js";
|
|
6
|
+
import { useCommunicationActions as Ze } from "./composables/useCommunicationActions.js";
|
|
7
|
+
import { useCommunicationSubMenu as et } from "./composables/useCommunicationSubMenu.js";
|
|
8
|
+
import { useCommunicationDialogSync as tt } from "./composables/useCommunicationDialogSync.js";
|
|
9
|
+
import { useCommunicationPlaceholder as nt } from "./composables/useCommunicationPlaceholder.js";
|
|
10
|
+
import be from "./CommunicationPanelAttributeIndicator.vue.js";
|
|
11
|
+
import ot from "./icons/CommunicationPanelCheckIcon.vue.js";
|
|
12
12
|
/* empty css */
|
|
13
|
-
import
|
|
13
|
+
import st from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
14
14
|
/* empty css */
|
|
15
|
-
const
|
|
16
|
-
key:
|
|
15
|
+
const lt = ["onClick", "onMouseenter"], at = { class: "channel-icon" }, it = { class: "channel-icon" }, ut = {
|
|
16
|
+
key: 1,
|
|
17
17
|
class: "attributes-menu"
|
|
18
|
-
},
|
|
18
|
+
}, rt = {
|
|
19
19
|
key: 0,
|
|
20
20
|
class: "empty-channels-placeholder"
|
|
21
|
-
},
|
|
21
|
+
}, ct = ["data-attribute-status", "onMouseenter", "onClick"], dt = { class: "attribute-info" }, ft = { class: "attribute-value" }, mt = { class: "menu-icon" }, pt = {
|
|
22
22
|
key: 0,
|
|
23
23
|
class: "menu-icon-arrow"
|
|
24
|
-
},
|
|
24
|
+
}, ht = ["data-attribute-status", "onMouseenter", "onClick"], vt = { class: "attribute-info" }, yt = { class: "attribute-value" }, Ct = { class: "menu-icon" }, bt = {
|
|
25
25
|
key: 0,
|
|
26
26
|
class: "menu-icon-arrow"
|
|
27
|
-
},
|
|
27
|
+
}, gt = ["onClick"], kt = {
|
|
28
28
|
key: 0,
|
|
29
29
|
class: "selected-indicator"
|
|
30
|
-
},
|
|
30
|
+
}, At = { class: "sub-menu-title" }, It = {
|
|
31
31
|
__name: "CommunicationPanel",
|
|
32
32
|
props: {
|
|
33
33
|
contactAttributes: {
|
|
@@ -97,6 +97,24 @@ const nt = ["onClick", "onMouseenter"], ot = { class: "channel-icon" }, st = { c
|
|
|
97
97
|
type: Array,
|
|
98
98
|
required: !1,
|
|
99
99
|
default: () => []
|
|
100
|
+
},
|
|
101
|
+
/**
|
|
102
|
+
* Порядок кнопок каналов в панели.
|
|
103
|
+
* По умолчанию: max → telegram → whatsapp → sms → phone.
|
|
104
|
+
*/
|
|
105
|
+
channelOrder: {
|
|
106
|
+
type: Array,
|
|
107
|
+
required: !1,
|
|
108
|
+
default: void 0
|
|
109
|
+
},
|
|
110
|
+
/**
|
|
111
|
+
* Типы каналов для отображения (обычно с бэка — доступные пользователю).
|
|
112
|
+
* Если не задан — показываются все поддерживаемые типы.
|
|
113
|
+
*/
|
|
114
|
+
visibleChannelTypes: {
|
|
115
|
+
type: Array,
|
|
116
|
+
required: !1,
|
|
117
|
+
default: void 0
|
|
100
118
|
}
|
|
101
119
|
},
|
|
102
120
|
emits: [
|
|
@@ -105,204 +123,209 @@ const nt = ["onClick", "onMouseenter"], ot = { class: "channel-icon" }, st = { c
|
|
|
105
123
|
"phone-call",
|
|
106
124
|
"reset-blocked-attributes"
|
|
107
125
|
],
|
|
108
|
-
setup(T, { emit:
|
|
109
|
-
const
|
|
110
|
-
() =>
|
|
111
|
-
), j =
|
|
126
|
+
setup(T, { emit: ge }) {
|
|
127
|
+
const l = T, J = ge, E = d(null), ke = d(null), N = d(null), z = d(null), _ = d(null), $ = d({}), C = d(!1), M = d(null), m = d(null), S = d(null), b = i(
|
|
128
|
+
() => l.confirmingAttributeId ?? S.value
|
|
129
|
+
), j = i(() => l.blockedAttributeIds ?? []), g = (t) => Ye(t, j.value), F = i(() => l.channels ?? []), Ae = i(() => l.channelOrder), Ie = i(() => l.visibleChannelTypes), Te = i(() => l.channelTooltips ?? {}), _e = i(() => l.attributeTooltips ?? {}), K = i(() => l.attributeIndicatorTooltips ?? {}), Q = i(() => l.messages ?? []), Me = i(() => l.selectedChat ?? null), X = i(() => l.isNewDialog ?? !1), Se = i(() => {
|
|
112
130
|
var t;
|
|
113
|
-
return ((t =
|
|
114
|
-
}), Y = (t) =>
|
|
131
|
+
return ((t = l.selectedDialog) == null ? void 0 : t.channelId) ?? null;
|
|
132
|
+
}), Y = (t) => Se.value === t, we = i(() => {
|
|
115
133
|
var t;
|
|
116
|
-
return ((t =
|
|
134
|
+
return ((t = l.selectedDialog) == null ? void 0 : t.attributeId) ?? null;
|
|
117
135
|
}), w = (t) => {
|
|
118
|
-
const o =
|
|
136
|
+
const o = we.value;
|
|
119
137
|
if (!o || !t)
|
|
120
138
|
return !1;
|
|
121
139
|
const e = t.id ?? t.attributeId;
|
|
122
140
|
return o === e;
|
|
123
141
|
}, Z = (t) => {
|
|
124
|
-
const o =
|
|
142
|
+
const o = _e.value, e = (t == null ? void 0 : t.attributeId) ?? (t == null ? void 0 : t.id);
|
|
125
143
|
if (e != null) {
|
|
126
|
-
const
|
|
127
|
-
if (
|
|
128
|
-
return
|
|
144
|
+
const u = o[String(e)];
|
|
145
|
+
if (u)
|
|
146
|
+
return u;
|
|
129
147
|
}
|
|
130
148
|
return t != null && t.value ? o[String(t.value)] ?? "" : "";
|
|
131
|
-
},
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
149
|
+
}, Re = (t) => !!Z(t), {
|
|
150
|
+
panelChannelTypes: De,
|
|
151
|
+
channelsTypes: ee,
|
|
152
|
+
getTooltipText: qe,
|
|
153
|
+
getChannelTypeFromId: xe,
|
|
135
154
|
hasMultipleChannels: k,
|
|
136
|
-
isChannelActive:
|
|
137
|
-
getSingleChannelForType:
|
|
138
|
-
getMenuChannelIconComponentForChannelId:
|
|
139
|
-
getSingleMenuChannelIconComponent:
|
|
140
|
-
getAvailableChannels:
|
|
141
|
-
} =
|
|
155
|
+
isChannelActive: R,
|
|
156
|
+
getSingleChannelForType: Oe,
|
|
157
|
+
getMenuChannelIconComponentForChannelId: Be,
|
|
158
|
+
getSingleMenuChannelIconComponent: te,
|
|
159
|
+
getAvailableChannels: ne
|
|
160
|
+
} = Ke({
|
|
142
161
|
channels: F,
|
|
143
|
-
channelTooltips:
|
|
162
|
+
channelTooltips: Te,
|
|
163
|
+
channelOrder: Ae,
|
|
164
|
+
visibleChannelTypes: Ie,
|
|
144
165
|
selectedChannelType: _
|
|
145
166
|
}), {
|
|
146
167
|
activeChannelType: r,
|
|
147
|
-
hoveredChannel:
|
|
148
|
-
showMenu:
|
|
168
|
+
hoveredChannel: D,
|
|
169
|
+
showMenu: q,
|
|
149
170
|
showSubMenu: L,
|
|
150
|
-
handleChannelClick:
|
|
151
|
-
closeMenu:
|
|
152
|
-
handleClickOutside:
|
|
153
|
-
} =
|
|
154
|
-
panelRef:
|
|
171
|
+
handleChannelClick: Pe,
|
|
172
|
+
closeMenu: oe,
|
|
173
|
+
handleClickOutside: se
|
|
174
|
+
} = Qe({
|
|
175
|
+
panelRef: E,
|
|
155
176
|
selectedChannelType: _,
|
|
156
177
|
frozenAttribute: z
|
|
157
|
-
}), V =
|
|
158
|
-
var
|
|
178
|
+
}), V = i(() => l.contactAttributes ?? []), le = (t) => {
|
|
179
|
+
var p;
|
|
159
180
|
if (!t || !Q.value) return !0;
|
|
160
|
-
const o = (
|
|
181
|
+
const o = (p = Me.value) == null ? void 0 : p.chatId;
|
|
161
182
|
return o ? !Q.value.filter(
|
|
162
|
-
(
|
|
163
|
-
var
|
|
164
|
-
return
|
|
183
|
+
(h) => {
|
|
184
|
+
var he;
|
|
185
|
+
return h.chatId === o && h.dialogId === ((he = l.selectedDialog) == null ? void 0 : he.dialogId);
|
|
165
186
|
}
|
|
166
187
|
).some(
|
|
167
|
-
(
|
|
188
|
+
(h) => h.type !== "message.system" && h.type !== "message.delimiter" && h.type !== "system" && h.type !== "system_message" && h.type !== "notification"
|
|
168
189
|
) : !0;
|
|
169
|
-
},
|
|
170
|
-
|
|
171
|
-
const t = Array.isArray(
|
|
190
|
+
}, ae = () => {
|
|
191
|
+
x(), C.value = !0, ve(() => {
|
|
192
|
+
const t = Array.isArray(m.value) ? m.value[0] : m.value;
|
|
172
193
|
t && typeof t.startAutoShow == "function" ? t.startAutoShow() : console.log("startAutoShow method not found on tooltipRef");
|
|
173
194
|
}), M.value = setTimeout(() => {
|
|
174
195
|
C.value = !1;
|
|
175
196
|
}, 5e3);
|
|
176
|
-
},
|
|
177
|
-
if (M.value && (clearTimeout(M.value), M.value = null),
|
|
178
|
-
const t = Array.isArray(
|
|
197
|
+
}, x = () => {
|
|
198
|
+
if (M.value && (clearTimeout(M.value), M.value = null), m.value) {
|
|
199
|
+
const t = Array.isArray(m.value) ? m.value[0] : m.value;
|
|
179
200
|
t && typeof t.clearAutoTimer == "function" && t.clearAutoTimer();
|
|
180
201
|
}
|
|
181
202
|
C.value = !1;
|
|
182
203
|
}, {
|
|
183
204
|
organizedContactAttributes: ie,
|
|
184
|
-
organizeContactAttributes:
|
|
185
|
-
isAttributeFrozen:
|
|
186
|
-
} =
|
|
205
|
+
organizeContactAttributes: Ee,
|
|
206
|
+
isAttributeFrozen: ue
|
|
207
|
+
} = Xe({
|
|
187
208
|
contactAttributes: V,
|
|
209
|
+
panelChannelTypes: De,
|
|
188
210
|
frozenAttribute: z
|
|
189
211
|
}), {
|
|
190
|
-
handleAttributeClick:
|
|
191
|
-
selectChannel:
|
|
192
|
-
availableChannels:
|
|
193
|
-
} =
|
|
212
|
+
handleAttributeClick: Ne,
|
|
213
|
+
selectChannel: ze,
|
|
214
|
+
availableChannels: $e
|
|
215
|
+
} = Ze({
|
|
194
216
|
activeChannelType: r,
|
|
195
217
|
channels: F,
|
|
196
218
|
selectedChannel: $,
|
|
197
219
|
selectedChannelType: _,
|
|
198
|
-
hoveredAttribute:
|
|
220
|
+
hoveredAttribute: N,
|
|
199
221
|
confirmingAttributeId: S,
|
|
200
222
|
isAttributeBlocked: g,
|
|
201
|
-
closeMenu:
|
|
223
|
+
closeMenu: oe,
|
|
202
224
|
hasMultipleChannels: k,
|
|
203
|
-
getSingleChannelForType:
|
|
204
|
-
getAvailableChannels:
|
|
205
|
-
isChannelEmpty:
|
|
225
|
+
getSingleChannelForType: Oe,
|
|
226
|
+
getAvailableChannels: ne,
|
|
227
|
+
isChannelEmpty: le,
|
|
206
228
|
isNewDialog: X,
|
|
207
|
-
showDefaultChannelTooltipWithTimer:
|
|
208
|
-
clearDefaultChannelTooltip:
|
|
229
|
+
showDefaultChannelTooltipWithTimer: ae,
|
|
230
|
+
clearDefaultChannelTooltip: x,
|
|
209
231
|
emit: J
|
|
210
232
|
}), {
|
|
211
|
-
subMenuTop:
|
|
212
|
-
handleAttributeMouseEnter:
|
|
213
|
-
handleAttributeMouseLeave:
|
|
214
|
-
keepSubMenuOpen:
|
|
215
|
-
closeSubMenu:
|
|
216
|
-
alignSubMenuWithTarget:
|
|
217
|
-
} =
|
|
233
|
+
subMenuTop: je,
|
|
234
|
+
handleAttributeMouseEnter: Fe,
|
|
235
|
+
handleAttributeMouseLeave: O,
|
|
236
|
+
keepSubMenuOpen: re,
|
|
237
|
+
closeSubMenu: ce,
|
|
238
|
+
alignSubMenuWithTarget: Le
|
|
239
|
+
} = et({
|
|
218
240
|
activeChannelType: r,
|
|
219
241
|
showSubMenu: L,
|
|
220
242
|
frozenAttribute: z,
|
|
221
|
-
hoveredAttribute:
|
|
243
|
+
hoveredAttribute: N,
|
|
222
244
|
hasMultipleChannels: k,
|
|
223
245
|
isAttributeBlocked: g
|
|
224
|
-
}),
|
|
225
|
-
|
|
226
|
-
},
|
|
227
|
-
g(t) ||
|
|
246
|
+
}), Ve = (t) => {
|
|
247
|
+
q.value && r.value === t || J("reset-blocked-attributes"), Pe(t);
|
|
248
|
+
}, de = (t) => {
|
|
249
|
+
g(t) || Ne(t);
|
|
228
250
|
};
|
|
229
|
-
|
|
251
|
+
tt({
|
|
230
252
|
selectedChannelType: _,
|
|
231
253
|
selectedChannel: $,
|
|
232
254
|
channels: F,
|
|
233
|
-
selectedDialog:
|
|
234
|
-
isChannelEmpty:
|
|
255
|
+
selectedDialog: i(() => l.selectedDialog ?? null),
|
|
256
|
+
isChannelEmpty: le,
|
|
235
257
|
isNewDialog: X,
|
|
236
|
-
showDefaultChannelTooltipWithTimer:
|
|
237
|
-
clearDefaultChannelTooltip:
|
|
258
|
+
showDefaultChannelTooltipWithTimer: ae,
|
|
259
|
+
clearDefaultChannelTooltip: x
|
|
238
260
|
});
|
|
239
261
|
const {
|
|
240
|
-
emptyChannelsPlaceholderText:
|
|
241
|
-
shouldShowEmptyChannelsPlaceholder:
|
|
242
|
-
} =
|
|
243
|
-
showMenu:
|
|
262
|
+
emptyChannelsPlaceholderText: He,
|
|
263
|
+
shouldShowEmptyChannelsPlaceholder: fe
|
|
264
|
+
} = nt({
|
|
265
|
+
showMenu: q,
|
|
244
266
|
activeChannelType: r,
|
|
245
|
-
emptyChannelsPlaceholder:
|
|
246
|
-
getAvailableChannels:
|
|
267
|
+
emptyChannelsPlaceholder: i(() => l.emptyChannelsPlaceholder ?? {}),
|
|
268
|
+
getAvailableChannels: ne,
|
|
247
269
|
organizedContactAttributes: ie
|
|
248
|
-
}),
|
|
249
|
-
() =>
|
|
250
|
-
),
|
|
251
|
-
() => L.value &&
|
|
252
|
-
),
|
|
253
|
-
const e =
|
|
254
|
-
await
|
|
270
|
+
}), me = i(
|
|
271
|
+
() => $e()
|
|
272
|
+
), We = i(
|
|
273
|
+
() => L.value && N.value && me.value.length > 0 && r.value !== "phone" && k(r.value)
|
|
274
|
+
), pe = async (t, o) => {
|
|
275
|
+
const e = Fe(t, o.currentTarget);
|
|
276
|
+
await ve(), e instanceof HTMLElement && Le(E, e);
|
|
255
277
|
};
|
|
256
|
-
return H(() =>
|
|
278
|
+
return H(() => l.confirmingAttributeId, (t) => {
|
|
257
279
|
t || (S.value = null);
|
|
258
280
|
}), H(V, () => {
|
|
259
281
|
const t = b.value;
|
|
260
282
|
if (!t)
|
|
261
283
|
return;
|
|
262
284
|
const o = V.value.find((e) => e.id === t);
|
|
263
|
-
(o == null ? void 0 : o.status) === "confirmed" && (S.value = null,
|
|
264
|
-
}, { deep: !0 }), H(() =>
|
|
265
|
-
}, { deep: !0 }),
|
|
266
|
-
document.addEventListener("click",
|
|
267
|
-
}),
|
|
268
|
-
document.removeEventListener("click",
|
|
269
|
-
}), (t, o) => (s(),
|
|
285
|
+
(o == null ? void 0 : o.status) === "confirmed" && (S.value = null, oe());
|
|
286
|
+
}, { deep: !0 }), H(() => l.selectedDialog, () => {
|
|
287
|
+
}, { deep: !0 }), Ue(() => {
|
|
288
|
+
document.addEventListener("click", se), Ee();
|
|
289
|
+
}), Ge(() => {
|
|
290
|
+
document.removeEventListener("click", se), x();
|
|
291
|
+
}), (t, o) => (s(), a("div", {
|
|
270
292
|
ref_key: "panelRef",
|
|
271
|
-
ref:
|
|
293
|
+
ref: E,
|
|
272
294
|
class: "communication-panel"
|
|
273
295
|
}, [
|
|
274
|
-
|
|
296
|
+
n(ee).length ? (s(), a("div", {
|
|
297
|
+
key: 0,
|
|
275
298
|
ref_key: "channelsPanelRef",
|
|
276
|
-
ref:
|
|
299
|
+
ref: ke,
|
|
277
300
|
class: "channels-panel"
|
|
278
301
|
}, [
|
|
279
|
-
(s(!0),
|
|
280
|
-
var
|
|
281
|
-
return s(),
|
|
302
|
+
(s(!0), a(A, null, W(n(ee), (e) => {
|
|
303
|
+
var u;
|
|
304
|
+
return s(), a("button", {
|
|
282
305
|
key: e.type,
|
|
283
306
|
class: v(["channel-btn", {
|
|
284
|
-
active: n(
|
|
285
|
-
hover: n(
|
|
286
|
-
menuOpen: n(
|
|
307
|
+
active: n(R)(e.type),
|
|
308
|
+
hover: n(D) === e.type && !n(R)(e.type) || n(D) === e.type && n(R)(e.type),
|
|
309
|
+
menuOpen: n(q) && n(r) === e.type
|
|
287
310
|
}]),
|
|
288
|
-
onClick: (
|
|
289
|
-
onMouseenter: (
|
|
290
|
-
onMouseleave: o[0] || (o[0] = (
|
|
311
|
+
onClick: (p) => Ve(e.type),
|
|
312
|
+
onMouseenter: (p) => D.value = e.type,
|
|
313
|
+
onMouseleave: o[0] || (o[0] = (p) => D.value = null)
|
|
291
314
|
}, [
|
|
292
|
-
n(
|
|
293
|
-
|
|
315
|
+
n(R)(e.type) ? (s(), a(A, { key: 0 }, [
|
|
316
|
+
B(G, {
|
|
294
317
|
ref_for: !0,
|
|
295
|
-
ref: (
|
|
296
|
-
|
|
318
|
+
ref: (p) => {
|
|
319
|
+
p && (m.value = p);
|
|
297
320
|
},
|
|
298
|
-
text: C.value ? "Выбран канал по умолчанию, можно изменить в настройках профиля" : (
|
|
321
|
+
text: C.value ? "Выбран канал по умолчанию, можно изменить в настройках профиля" : (u = $.value) == null ? void 0 : u.title,
|
|
299
322
|
position: "bottom-left",
|
|
300
323
|
offset: 8,
|
|
301
324
|
trigger: C.value ? "auto" : "hover",
|
|
302
325
|
"auto-show-duration": C.value ? 5e3 : 0
|
|
303
326
|
}, {
|
|
304
327
|
default: U(() => [
|
|
305
|
-
c("span",
|
|
328
|
+
c("span", at, [
|
|
306
329
|
(s(), y(I(e.component)))
|
|
307
330
|
])
|
|
308
331
|
]),
|
|
@@ -311,26 +334,26 @@ const nt = ["onClick", "onMouseenter"], ot = { class: "channel-icon" }, st = { c
|
|
|
311
334
|
o[5] || (o[5] = c("span", { class: "active-indicator" }, null, -1))
|
|
312
335
|
], 64)) : (s(), y(G, {
|
|
313
336
|
key: 1,
|
|
314
|
-
text: n(
|
|
337
|
+
text: n(qe)(e.type),
|
|
315
338
|
position: "bottom-left",
|
|
316
339
|
offset: 8
|
|
317
340
|
}, {
|
|
318
341
|
default: U(() => [
|
|
319
|
-
c("span",
|
|
342
|
+
c("span", it, [
|
|
320
343
|
(s(), y(I(e.component)))
|
|
321
344
|
])
|
|
322
345
|
]),
|
|
323
346
|
_: 2
|
|
324
347
|
}, 1032, ["text"]))
|
|
325
|
-
], 42,
|
|
348
|
+
], 42, lt);
|
|
326
349
|
}), 128))
|
|
327
|
-
], 512),
|
|
328
|
-
n(
|
|
329
|
-
n(
|
|
330
|
-
n(
|
|
350
|
+
], 512)) : f("", !0),
|
|
351
|
+
n(q) && n(r) ? (s(), a("div", ut, [
|
|
352
|
+
n(fe) ? (s(), a("div", rt, P(n(He)), 1)) : f("", !0),
|
|
353
|
+
n(fe) ? f("", !0) : (s(!0), a(A, { key: 1 }, W(n(ie)[n(r)], (e) => (s(), a(A, {
|
|
331
354
|
key: e.attributeId
|
|
332
355
|
}, [
|
|
333
|
-
|
|
356
|
+
Re(e) ? (s(), y(G, {
|
|
334
357
|
key: 0,
|
|
335
358
|
text: Z(e),
|
|
336
359
|
position: "bottom-left",
|
|
@@ -338,100 +361,100 @@ const nt = ["onClick", "onMouseenter"], ot = { class: "channel-icon" }, st = { c
|
|
|
338
361
|
}, {
|
|
339
362
|
default: U(() => [
|
|
340
363
|
c("div", {
|
|
341
|
-
class: v(["attribute-item", n(
|
|
342
|
-
"frozen-hover": n(
|
|
364
|
+
class: v(["attribute-item", n(ye)(e), {
|
|
365
|
+
"frozen-hover": n(ue)(e),
|
|
343
366
|
selected: w(e),
|
|
344
|
-
confirming: n(
|
|
367
|
+
confirming: n(Ce)(e, b.value),
|
|
345
368
|
blocked: g(e)
|
|
346
369
|
}]),
|
|
347
370
|
"data-attribute-status": e.status,
|
|
348
|
-
onMouseenter: (
|
|
349
|
-
onMouseleave: o[1] || (o[1] = (...
|
|
350
|
-
onClick: (
|
|
371
|
+
onMouseenter: (u) => pe(e, u),
|
|
372
|
+
onMouseleave: o[1] || (o[1] = (...u) => n(O) && n(O)(...u)),
|
|
373
|
+
onClick: (u) => de(e)
|
|
351
374
|
}, [
|
|
352
|
-
c("div",
|
|
353
|
-
|
|
375
|
+
c("div", dt, [
|
|
376
|
+
B(be, {
|
|
354
377
|
attribute: e,
|
|
355
378
|
"is-selected": w(e),
|
|
356
379
|
"confirming-attribute-id": b.value,
|
|
357
380
|
"blocked-attribute-ids": j.value,
|
|
358
381
|
"indicator-tooltips": K.value
|
|
359
382
|
}, null, 8, ["attribute", "is-selected", "confirming-attribute-id", "blocked-attribute-ids", "indicator-tooltips"]),
|
|
360
|
-
c("span",
|
|
383
|
+
c("span", ft, P(e.value), 1)
|
|
361
384
|
]),
|
|
362
|
-
c("span",
|
|
363
|
-
n(k)(n(r)) ? (s(),
|
|
385
|
+
c("span", mt, [
|
|
386
|
+
n(k)(n(r)) ? (s(), a("span", pt)) : T.showChannelIcons ? (s(), a("span", {
|
|
364
387
|
key: 1,
|
|
365
388
|
class: v(["channel-icon-small", { "menu-icon-grey": n(r) !== "sms" }])
|
|
366
389
|
}, [
|
|
367
|
-
(s(), y(I(n(
|
|
368
|
-
], 2)) :
|
|
390
|
+
(s(), y(I(n(te)(n(r)))))
|
|
391
|
+
], 2)) : f("", !0)
|
|
369
392
|
])
|
|
370
|
-
], 42,
|
|
393
|
+
], 42, ct)
|
|
371
394
|
]),
|
|
372
395
|
_: 2
|
|
373
|
-
}, 1032, ["text"])) : (s(),
|
|
396
|
+
}, 1032, ["text"])) : (s(), a("div", {
|
|
374
397
|
key: 1,
|
|
375
|
-
class: v(["attribute-item", n(
|
|
376
|
-
"frozen-hover": n(
|
|
398
|
+
class: v(["attribute-item", n(ye)(e), {
|
|
399
|
+
"frozen-hover": n(ue)(e),
|
|
377
400
|
selected: w(e),
|
|
378
|
-
confirming: n(
|
|
401
|
+
confirming: n(Ce)(e, b.value),
|
|
379
402
|
blocked: g(e)
|
|
380
403
|
}]),
|
|
381
404
|
"data-attribute-status": e.status,
|
|
382
|
-
onMouseenter: (
|
|
383
|
-
onMouseleave: o[2] || (o[2] = (...
|
|
384
|
-
onClick: (
|
|
405
|
+
onMouseenter: (u) => pe(e, u),
|
|
406
|
+
onMouseleave: o[2] || (o[2] = (...u) => n(O) && n(O)(...u)),
|
|
407
|
+
onClick: (u) => de(e)
|
|
385
408
|
}, [
|
|
386
|
-
c("div",
|
|
387
|
-
|
|
409
|
+
c("div", vt, [
|
|
410
|
+
B(be, {
|
|
388
411
|
attribute: e,
|
|
389
412
|
"is-selected": w(e),
|
|
390
413
|
"confirming-attribute-id": b.value,
|
|
391
414
|
"blocked-attribute-ids": j.value,
|
|
392
415
|
"indicator-tooltips": K.value
|
|
393
416
|
}, null, 8, ["attribute", "is-selected", "confirming-attribute-id", "blocked-attribute-ids", "indicator-tooltips"]),
|
|
394
|
-
c("span",
|
|
417
|
+
c("span", yt, P(e.value), 1)
|
|
395
418
|
]),
|
|
396
|
-
c("span",
|
|
397
|
-
n(k)(n(r)) ? (s(),
|
|
419
|
+
c("span", Ct, [
|
|
420
|
+
n(k)(n(r)) ? (s(), a("span", bt)) : T.showChannelIcons ? (s(), a("span", {
|
|
398
421
|
key: 1,
|
|
399
422
|
class: v(["channel-icon-small", { "menu-icon-grey": n(r) !== "sms" }])
|
|
400
423
|
}, [
|
|
401
|
-
(s(), y(I(n(
|
|
402
|
-
], 2)) :
|
|
424
|
+
(s(), y(I(n(te)(n(r)))))
|
|
425
|
+
], 2)) : f("", !0)
|
|
403
426
|
])
|
|
404
|
-
], 42,
|
|
427
|
+
], 42, ht))
|
|
405
428
|
], 64))), 128)),
|
|
406
|
-
n(L) &&
|
|
429
|
+
n(L) && We.value ? (s(), a("div", {
|
|
407
430
|
key: 2,
|
|
408
431
|
class: "sub-menu left",
|
|
409
|
-
style:
|
|
410
|
-
onMouseenter: o[3] || (o[3] = (...e) => n(
|
|
411
|
-
onMouseleave: o[4] || (o[4] = (...e) => n(
|
|
432
|
+
style: Je({ top: n(je) + "px" }),
|
|
433
|
+
onMouseenter: o[3] || (o[3] = (...e) => n(re) && n(re)(...e)),
|
|
434
|
+
onMouseleave: o[4] || (o[4] = (...e) => n(ce) && n(ce)(...e))
|
|
412
435
|
}, [
|
|
413
436
|
o[6] || (o[6] = c("div", { class: "sub-menu-header" }, " Канал связи ", -1)),
|
|
414
|
-
(s(!0),
|
|
437
|
+
(s(!0), a(A, null, W(me.value, (e) => (s(), a("div", {
|
|
415
438
|
key: e.channelId,
|
|
416
439
|
class: v(["sub-menu-item", { selected: Y(e.channelId) }]),
|
|
417
|
-
onClick: (
|
|
440
|
+
onClick: (u) => n(ze)(e.channelId)
|
|
418
441
|
}, [
|
|
419
|
-
Y(e.channelId) ? (s(),
|
|
420
|
-
|
|
421
|
-
])) :
|
|
422
|
-
c("span",
|
|
423
|
-
T.showChannelIcons ? (s(),
|
|
442
|
+
Y(e.channelId) ? (s(), a("span", kt, [
|
|
443
|
+
B(n(ot))
|
|
444
|
+
])) : f("", !0),
|
|
445
|
+
c("span", At, P(e.title || e.channelId), 1),
|
|
446
|
+
T.showChannelIcons ? (s(), a("span", {
|
|
424
447
|
key: 1,
|
|
425
|
-
class: v(["sub-menu-icon", { "menu-icon-grey": n(
|
|
448
|
+
class: v(["sub-menu-icon", { "menu-icon-grey": n(xe)(e.channelId) !== "sms" }])
|
|
426
449
|
}, [
|
|
427
|
-
(s(), y(I(n(
|
|
428
|
-
], 2)) :
|
|
429
|
-
], 10,
|
|
430
|
-
], 36)) :
|
|
431
|
-
])) :
|
|
450
|
+
(s(), y(I(n(Be)(e.channelId))))
|
|
451
|
+
], 2)) : f("", !0)
|
|
452
|
+
], 10, gt))), 128))
|
|
453
|
+
], 36)) : f("", !0)
|
|
454
|
+
])) : f("", !0)
|
|
432
455
|
], 512));
|
|
433
456
|
}
|
|
434
|
-
},
|
|
457
|
+
}, zt = /* @__PURE__ */ st(It, [["__scopeId", "data-v-cae081e6"]]);
|
|
435
458
|
export {
|
|
436
|
-
|
|
459
|
+
zt as default
|
|
437
460
|
};
|