Size: a a a

2020 October 14

К

Константин in Svelte [svelt]
более того, там вроде ошибка какая-то всплывала в консоли, сейчас не помню точно
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
эм, не понял 🤔
источник

К

Константин in Svelte [svelt]
Konstantin Glonin
Добрый вечер подскажите как можно сделать dnd с сохранением положения брошенного элемента
привет, так примеров же много, глянь на гитхабе
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Константин
если ты напишешь, <i on:click|stopPropagation />, наверху ты не поймаешь этот клик
так смысл же в этом, только надо не в самой иконке это сделать, а в айтеме
источник

К

Константин in Svelte [svelt]
Pavel 🦇 Malyshev
так смысл же в этом, только надо не в самой иконке это сделать, а в айтеме
ну так я и говорю, ты в айтеме это никак не поймаешь
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Константин
ну так я и говорю, ты в айтеме это никак не поймаешь
иконку то мы вообще не трогаем
источник

К

Константин in Svelte [svelt]
<Icon on:click={не сработает}>
источник

KG

Konstantin Glonin in Svelte [svelt]
Константин
привет, так примеров же много, глянь на гитхабе
Все они не совсем то:) https://sharlime.ru/sharxxxi/
Примерно вот так нужно:)
источник

К

Константин in Svelte [svelt]
а, ты предлагаешь сам компонент завернуть...
источник

К

Константин in Svelte [svelt]
сорри, не понял сразу
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Константин
а, ты предлагаешь сам компонент завернуть...
ну да
источник

К

Константин in Svelte [svelt]
Pavel 🦇 Malyshev
иконку то мы вообще не трогаем
ну я это чуток радикальнее решил
источник

KG

Konstantin Glonin in Svelte [svelt]
Нужно как то получить координаты внутри блока в который бросаешь
источник

К

Константин in Svelte [svelt]
import {bubble, listen} from 'svelte/internal';

export function getEventsAction(component, self) {
 return node => {
   const events = Object.keys(component.$$.callbacks);
   const listeners = [];

   events.forEach(
     event => listeners.push(
       listen(node, event, e =>  {if (self) {e.stopPropagation();} return bubble(component, e);})
     )
   );

   return {
     destroy: () => {
       listeners.forEach(
         listener => listener()
       );
     }
   }
 };
}


при вызове true вторым аргументом передаёшь и всё. На нужном элементе события без бабблинга работают. Но да, это не лучшее решение. Просто надо было быстро.
источник

К

Константин in Svelte [svelt]
источник

R

Resident in Svelte [svelt]
Misha Zamkevich
Хз, зачем я это делал, просто мысли как это оформить в понятный раздел доков о важности очередности.
ООО, это мне напомнило подобную ситуацию с объявлением переменных в функциях на python и с областями видимости
источник

К

Константин in Svelte [svelt]
Konstantin Glonin
Нужно как то получить координаты внутри блока в который бросаешь
так у тебя ж mouseup триггерится на элементе, в который бросаешь
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Константин
import {bubble, listen} from 'svelte/internal';

export function getEventsAction(component, self) {
 return node => {
   const events = Object.keys(component.$$.callbacks);
   const listeners = [];

   events.forEach(
     event => listeners.push(
       listen(node, event, e =>  {if (self) {e.stopPropagation();} return bubble(component, e);})
     )
   );

   return {
     destroy: () => {
       listeners.forEach(
         listener => listener()
       );
     }
   }
 };
}


при вызове true вторым аргументом передаёшь и всё. На нужном элементе события без бабблинга работают. Но да, это не лучшее решение. Просто надо было быстро.
а ты хаки юзаешь) ну ладно, работает и хорошо)
источник

К

Константин in Svelte [svelt]
Pavel 🦇 Malyshev
а ты хаки юзаешь) ну ладно, работает и хорошо)
ну это мэйнстримный хак )
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Константин
ну это мэйнстримный хак )
)))
источник