Anatoly
Да не было такого раньше никогда.
hlomzik
не может быть
Дима
Чувак, тебе точно говорят
Дима
Такой модуль должен импортиться
Дима
И всегда так было
no cats
Помогите, пожалуйста. Есть клиент, на нём написано вот такое: gridStore.setParams({ "DateStart": grid.down("#dateMin").value, "DateEnd": grid.down("#dateMax").value, "TS": grid.config.dockedItems[1].tbar[0].items.items[1].getValue() } , "REQUEST" ); gridStore.reload(gridStore._requestParams); Надо эти параметры поймать сервером (на нод.жс) и фильтровать по ним строки грида стрелчной функцией. (мои тут только попытки самого фильтра) async function getMarketData(path, fields, calcFields, filter, sliceStart, sliceEnd) { let query = defineCollectionByPath(path).complete + RESULT_NAME + " = " + RESULT_NAME; if (filter) { query += ".filter(" + filter + ")"; filter = "(TradingSystem) => (-1 != inArray(TradingSystem, TS))" "(Data) => (Data >= DateStart && Data <= DateEnd)"}
Slava
.
Rafael 🌵
JSON.parse()?
Григорий Владимирович
lodash ?
Григорий Владимирович
JSON.parse()?
как подсветка кода работает в телеграмме?)
hlomzik
второй параметр JSON.parse()
Rafael 🌵
Григорий Владимирович
ok!
Vadim
Привет. Кто-нибудь работал с google maps api? У меня, после того, как оканчивается карта появляет фон и его можно круть до бесконечности. Я хз, как это пофиксить Кто-нибудь знает, как это лечить?
A
druggable:false
Rinat
druggable:false
это когда тебя наркотики не убивают.
Иван
Кто то знает сложность алгоритма indexof?
Иван
Ну и findIndex заодно
δμ Dmitry
N
Rafael 🌵
ребзь, а такое же есть для браузеров? https://github.com/pillarjs/path-to-regexp
Rafael 🌵
ребзь, а такое же есть для браузеров? https://github.com/pillarjs/path-to-regexp
отбой, эта штука и в браузере работает, вот пруф: https://github.com/vuejs/vue-router/blob/dev/src/util/params.js
Sergey
ребзь, а такое же есть для браузеров? https://github.com/pillarjs/path-to-regexp
Эта штука не зависит от среды исполнения
1000
кто-то использовал fast-sha256 в Angular 2?
Rafael 🌵
Эта штука не зависит от среды исполнения
Да, я подозревал это, но не мог найти подтверждения
Артём
Почему в последних вариантах так происходит, что свойства менются в обоих объектах? А если просто обернуть в функцию и создание нового объекта возвращать через return, то все впорядке x = (function() { var Obj = { y: 10, k: 30, insideObj: { z: 20 } }; Obj.changeY = function(arg) { this.y = arg; }; Obj.changeK = function(arg) { Obj.k = arg; }; Obj.changeZ = function(arg) { this.insideObj.z = arg; }; // return return function() { return Object.create(Obj); } }()), a = x(), b = x(); // end vars a.y = 111; console.log(a.y); // 111 console.log(b.y); // 10 a.changeY(222); console.log(a.y); // 222 console.log(b.y); // 10 a.changeK(333); console.log(a.k); // 333 console.log(b.k); // 333 a.changeZ(444); console.log(a.insideObj.z); // 444 console.log(b.insideObj.z); // 444
Артём
т.е если без замыкания то все нормально создается
Артём
x = function() { var Obj = { y: 10, k: 30, insideObj: { z: 20 } }; Obj.changeY = function(arg) { this.y = arg; }; Obj.changeK = function(arg) { Obj.k = arg; }; Obj.changeZ = function(arg) { this.insideObj.z = arg; }; // return return Object.create(Obj); }
Артём
сейчас без замыкания. Все впорядке создается
Артём
Короче, в первом (111) и втором вариенте (222), создаются свойства в новых объектах. А где (333), там видимо обращается к объекту-прототипу и так же где и (444), не может найти insideObj и обращается к прототипу. Но! если создать его в ручную: a.insideObj = {} a.changeZ(444); console.log(a.insideObj.z); // 444 console.log(b.insideObj.z); // 20 Выведет так как нужно. В чем причина пока хз в чем, может из-за того что сборщик мусора сохраняет объект прототип и по этому к нему и идет обращение
Артём
Я не веню GC, а ищу в чем причина. Так Object.create должен копии же делать с того прототипа
δμ Dmitry
>> Метод Object.create() создаёт новый объект с указанными объектом прототипа и свойствами.
δμ Dmitry
>> Object.create(proto[, propertiesObject])
δμ Dmitry
Он не делает копию, просто использует прототип
δμ Dmitry
Это по сути укороченый вариант с шаманствами в виде function a () {} a.prototype = X
Артём
да это понятно F = function () {}; F.prototype = {xxx:1000}; F.constructor = F; return new F;
Артём
но, если без замыканя сделать, то тот же object.create создает вполне независымые копии свойста которого можно меня налево и на право и дополнять другими что не отражается на других потомках и на самом прототипе
δμ Dmitry
нет, без замыкания у тебя сами прототипы разные, нет там копий, поставь лог в самом начале функции
Anonymous
доброе утро всем )
Rafael 🌵
CherryTea
Для всех кто имеет свои репозитории на гитхабе фидбэк - пожалуйста, если у вас есть самостоятельные части, сделайте их подмодулями и вынесите в отдельный реп. Не делайте вот так вот как здесь: https://github.com/mrdoob/three.js/tree/master/utils/exporters/blender
CherryTea
ради конвертера приходится клонить весь реп
CherryTea
(250 метров...)
Артём
нет, без замыкания у тебя сами прототипы разные, нет там копий, поставь лог в самом начале функции
Аналогичный код без литералов. Так же в замыкании. Тут все работает как надо. y = (function() { var C = function () { this.y = 10; this.k = 30; this.insideObj = {z: 20}; } C.prototype.changeY = function(arg) { this.y = arg; }; C.prototype.changeK = function(arg) { this.k = arg; }; C.prototype.changeZ = function(arg) { this.insideObj.z = arg; }; // return return C; }()), a = new y(), b = new y();
Евгений
Anonymous
никакой демократии
CherryTea
- Привет - Привет - Ты не занят? - Занят - А Можешь помочь? - Ну? (прошло 5 минут) - Сейчас, подожди, я свою мысль сформулирую
CherryTea
😕
Артём
так тоже работает y = (function() { var C = function () { this.y = 10; this.k = 30; this.insideObj = {z: 20}; }; C.prototype = { changeY: function(arg) { this.y = arg; }, changeK: function(arg) { this.k = arg; }, changeZ: function(arg) { this.insideObj.z = arg; } }; // return return C; }())
Артём
а вот так нет y = (function() { var C = function () {}; C.prototype = { y: 10, k: 30, insideObj: { z: 20 } changeY: function(arg) { this.y = arg; }, changeK: function(arg) { this.k = arg; }, changeZ: function(arg) { this.insideObj.z = arg; } }; // return return C; }())
CherryTea
для таких полотен можно было бы и в https://jsfiddle.net/
Артём
console.log - Показывает. Те прототипы которые были созданы в замыканиях, с помощью литералов с использованием Object.create(). К потомкам свойства не копируются, а создается пустой объект со свойстов __proto__, при попытки изменить свойство оно заменяется в самом прототипе и тем самым у друго потомка такие же данные как и у того в котором изменили. А если все свойства создавать через конструктор с использованием this.a =123; То свойства копируются к потомкам и все работает. Даже если методы добавлены через литерал объекта C.prototype = {change: function() {}}; А без использования замыкания все методы работают и все свойства копируются в потомки. Причем в JS оба методы аналогичны(литеральный и прототип-ориентированый), но в литеральном поведение отличается, хотя код один и тот же, только в разных стилях. А в чем прична я так и не понял))
Артём
а в книгах именно этот втирают не уподобляться ООП а создавать через Object.create
δμ Dmitry
console.log - Показывает. Те прототипы которые были созданы в замыканиях, с помощью литералов с использованием Object.create(). К потомкам свойства не копируются, а создается пустой объект со свойстов __proto__, при попытки изменить свойство оно заменяется в самом прототипе и тем самым у друго потомка такие же данные как и у того в котором изменили. А если все свойства создавать через конструктор с использованием this.a =123; То свойства копируются к потомкам и все работает. Даже если методы добавлены через литерал объекта C.prototype = {change: function() {}}; А без использования замыкания все методы работают и все свойства копируются в потомки. Причем в JS оба методы аналогичны(литеральный и прототип-ориентированый), но в литеральном поведение отличается, хотя код один и тот же, только в разных стилях. А в чем прична я так и не понял))
Свойства не копируются к потомкам. Если хочешь разобраться смотри спеку. Причину я озвучил. На практике лучший вариант не создавать странных конструкций и не возиться с прототипами
Артём
как не копируются когда вот console.log у потомка: Object {} y: 222 // а эта уже цепочка прототипов, ведет к основному прототипу __proto__: ObjectchangeK: function (arg) changeY: function (arg) changeZ: function (arg) insideObj: Objectk: 333y: 10__proto__: Object
CherryTea
three.js пишет что colorAmbient больше не поддерживается, но что вместо него я что-то не понял
CherryTea
в Migration-Guide вообще не слова. Кто-нибудь сталкивался?
d
Всем привет. Есть просмоторщик пдф: https://mozilla.github.io/pdf.js/web/viewer.html. Нужно получить ClientRect[] от выделенного текста: window.getSelection().getRangeAt(0).getClientRects() В хроме, файрфоксе все ок, а в ие всегда пустой пустой массив, кроме случаев, когда выделяешь одно слово. В чем может быть проблема? Какие еще есть варианты получить ClientRect[] спешл фор ие?
🆃🅰🆁🅸🅺 🇺🇦
в ИЕ ))
🆃🅰🆁🅸🅺 🇺🇦
https://github.com/mozilla/pdf.js/issues/5513
Woldemar186
Michail
Всём кто на React.Amsterdam привет 👋
Woldemar186
Если речь о браузере, то можно просто верстать принт версию и вызывать print()
Ее же можно сразу как ссылку установить чтобы параметры динамические были. Условия такие, большая БД с книгами и каждая книга имеет свой айди и язык отображения, и когда кликают ссылку чтобы сразу открывалась пдф, но не копия страницы где была ссылка, а совершенно другая страница но с данными о книге с этой
Дима
(250 метров...)
Последний раз это было проблемой на Siemens C65
Smooth Operator
Дима
разве?
Ну дык
Дима
Когда у тебя проект из кучи подмодулей, начинается проблема синхронизации зависимостей
CherryTea
ну да, либа которая экспоритрирует модель в json из блендера и tree.js имеют просто огромное количество совместных зависимостей
CherryTea
(нет)