Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Есть Нормальная библиотека для работы с listbox ? / 25 сообщений из 121, страница 1 из 5
27.01.2019, 18:13
    #39765528
revda.info
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть Нормальная библиотека для работы с listbox ?
Добрый день !

Почему-то в JavaScript какой-то геморой работать с listbox, который на самом деле select/option
Невозможно одной простой командой ни добавить элемент, ни удалить, ни получить selected как все это просто реализовано в разного рода Lazarus/ Паскалях/ Delphi.

От горя начал писать свою библиотеку что бы можно было делать все просто, но задумался..
Неужели все так страшно и никто еще кроме KendoUI не написал такой библиотеки, а KendoUI раздает ее за какие-то космические деньги.

Ну да.. еще есть ExtJS, это тоже из пушки по воробьям.

Может кто подскажет чего ? готовые либы..

http://jkeks.ru - мой личный блог
...
Рейтинг: 0 / 0
27.01.2019, 19:58
    #39765564
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть Нормальная библиотека для работы с listbox ?
revda.info,

на чистом js делается всё просто, без всяких библиотек.
...
Рейтинг: 0 / 0
28.01.2019, 11:36
    #39765762
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть Нормальная библиотека для работы с listbox ?
revda.info,

... jQuery - не пушка для вас? .. тогда

The jQuery replacement for select boxes
...
Рейтинг: 0 / 0
28.01.2019, 21:10
    #39766176
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть Нормальная библиотека для работы с listbox ?
revda.infoНу да.. еще есть ExtJS, это тоже из пушки по воробьям.

Есть не только ExtJS. Есть овердохуа-дохуа-дохуа решений. Как их можно было не найти, хз.
...
Рейтинг: 0 / 0
28.01.2019, 21:21
    #39766177
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть Нормальная библиотека для работы с listbox ?
вадяrevda.info,

на чистом js делается всё просто, без всяких библиотек.

просто, это

Код: html
1.
<Dropdown options={options} onChange={this._onSelect} value={defaultOption} placeholder="Select an option" />



или так

Код: html
1.
<v-select label="countryName" :options="countries"></v-select>



вместо "простого", но унылого ковыряния в нативном js, особенно в том, что уже написано десятки тысяч раз на какой угодно манер, лучше полезными делами заняться.
...
Рейтинг: 0 / 0
28.01.2019, 22:22
    #39766209
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть Нормальная библиотека для работы с listbox ?
hVostt,

только для того чтоб поправить надо поиметь разработчика, знающего это, а в чистом js - любой знающий основы.
...
Рейтинг: 0 / 0
29.01.2019, 03:35
    #39766253
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть Нормальная библиотека для работы с listbox ?
вадяhVostt,

только для того чтоб поправить надо поиметь разработчика, знающего это, а в чистом js - любой знающий основы.

ну как бы _это_ известный, популярный фреймворк, и можно найти специалиста, который уже его знает.
а "чистый js" и всякий самопал, написанный на "чистом js" -- это не одно и то же.
в этот самопал надо её въехать, что очень долго и дорого, да и нафиг оно надо.

ни в коем случае не ратую за то, что знать js и основы нинужно. ещё как нужно.
...
Рейтинг: 0 / 0
29.01.2019, 07:27
    #39766272
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть Нормальная библиотека для работы с listbox ?
вадяhVostt,

только для того чтоб поправить надо поиметь разработчика, знающего это, а в чистом js - любой знающий основы.
Если не секрет, то сколько js разработчиков у тебя в команде?
И как, в чем документацию на свои компоненты ведете? На примере того же listbox можешь показать?
...
Рейтинг: 0 / 0
29.01.2019, 09:51
    #39766315
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть Нормальная библиотека для работы с listbox ?
skyANAИ как, в чем документацию на свои компоненты ведете? На примере того же listbox можешь показать?я фрилансер фулстек
мне достаточно чтоб код был логический - тогда минимум комментов достаточно.
тут вроде и без доков понятно : https://github.com/JonHappy/JonHappy.github.io/blob/master/modal_menu/pic.html

listbox у меня есть свой (типа выпадающий список с результатами найденного ) на основе вебкомпонента
ещё с jquery :)
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
/* global con, HTMLElement */
"use strict";


document.registerElement("my-listbox", {
    prototype: {
        __proto__: HTMLElement.prototype,
        createdCallback: function () {
//            console.log('createdCallback');
        },
        detachedCallback: function () {
//            console.log('detachedCallback');
        },
        attributeChangedCallback: function (name, prevValue, newValue) {
//            console.log("name:%s  prevValue:%s   newValue:%s", name, prevValue, newValue);
        },
        attachedCallback: function () {
            this.add = false;
//            console.log('attachedCallback');
            this.obj = document.getElementById(this.id);
            var ob = $(this.obj);
            ob.attr({class: 'listbox'});
            this.callback = this.getAttribute('data-handler_callback');
            var callback = this.callback;
            this.placeholder = this.getAttribute('data-placeholder') || '';
            var header = this.callback + '_' + this.obj.id + '_expl|';
            this.shadow_root = document.getElementById(this.id).createShadowRoot();
            this.shadow_root.innerHTML = '<style> @import "CSS/listbox.css" </style><input id="in" class="inp" type="text" value="" data-fn="0" data-id="0" data-old=""  placeholder="' + this.placeholder + '"><div id="div_list" class="div_list"></div>';
            var obInput = $(this.shadow_root.getElementById('in'));
            var divlist = $(this.shadow_root.getElementById('div_list'));
            divlist.css('width', ob.outerWidth());

            var divimg = ob.find('.div_img');
            obInput.one('focus', function () {
                var inp = $(this);
                $(this).bind('keydown', function (event) {
                    var key;
                    if (window.event) {
                        key = window.event.keyCode;
                    } else {
                        key = event.keyCode;
                    }
                    switch (key + event.ctrlKey * 10000) {
                        case 27:
                            inp.attr({
                                'data-in': '0',
                                'data-id': '',
                                'data-old': '',
                                'data-fn': '0'
                            });
                            inp.val('');
                            divlist.empty().divlist.css('display', 'none');
                            divimg.find('button').css('display', 'none');
                            break;
                        case 13:
                        case 9:
                            divlist.find("table").find("td").unbind("click").unbind("hover");
                            divlist.unbind('hover');
                            var td = divlist.find('table tr:eq(' + (parseInt(inp.attr('data-fn')) - 1) + ') td:eq(0)');
                            inp.attr({
                                'data-id': td.attr('data-id'),
                                'data-old': td.html()
                            });
                            divlist.empty().css('display', 'none');
                            $('.listbox_fon').remove();
                            try {
                                window[callback](inp.attr('data-id'));
                            } catch (er) {
                                console.log('case 9;13');
                                console.log(er);
                                console.log(callback);
                            }
                            break;
                        case 38://up
                            var n = parseInt(inp.attr("data-fn"));
                            if (n > 1) {
                                divlist.find("table").find("td").css("background", "none");
                                n--;
                                var d = divlist.find("table").find("[data-fn=" + n + "]");
                                d.css("background", "#ff0000");
                                inp.val(d.html());
                                inp.attr("data-fn", n);
                                listbox_n |= (inp.val().indexOf(inp.attr('data-old')) > 0) * 8; //набранное включает в себя найденноое
                                if (n > 10)
                                    divlist.scrollTop((n - 11) * 21);
                            }
                            return true;
                            break;
                        case 40://down
                            var n = parseInt(inp.attr("data-fn"));
                            var m = parseInt(divlist.find("table").find("td").filter(":last").attr("data-fn"));
                            if (n < m) {
                                divlist.find("table").find("td").css("background", "none");
                                n++;
                                var d = divlist.find("table").find("[data-fn=" + n + "]");
                                d.css("background", "#ff0000");
                                inp.val(d.html());
                                inp.attr("data-fn", n);
                                if (n > 10)
                                    divlist.scrollTop((n - 11) * 21);
                            }
                            divimg.css('display', 'none');
                            return true;
                            break;
                        case 10090: //ctrl + z
                            inp.val('');
                            inp.val(inp.attr('data-old'));
                            return true;
                            break;
                    }
                });
                obInput.on('input', {header: header}, function (event) {
                    con.send(event.data.header + $(this).val());
                    //                    console.log(event.data.header + $(this).val());
                    if ($(this).val().length === 0) {
                        $(this).attr('data-id', '0');
                        $(this).parent().find('.div_list').empty();
                        $(this).parent().find('.div_img .add').css("display", 'none');
                        $(this).parent().find('.div_img .tick').css("display", 'none');
                    }
                });
                obInput.on('blur', function () {
                    $(document).unbind('keydown');
                });
                //        if (this.add) {
                //            ob.after('<div class="div_img"><button class="add"  data-add="' + this.addCallback + '"><img src="pic/add.png"  alt="" /></button></div>');
                //            obParent.find('.add').css('display','none');
                //            obParent.on('click', '.add', function () {
                //                con.send($(this).data('add') + "|" + ob.val());
                //                $(this).css('display', 'none');
                //                listboxfonOff($(this).parent());
                //                ob.focus();
                //            });
                //        }
            });
        },
        expl: function (p) {
            var elem = $(this.obj);
            var callback = this.callback;
            var inp = $(this.shadow_root.getElementById('in'));
            var divlist = $(this.shadow_root.getElementById('div_list'));
            inp.attr("data-fn", 0);
            elem.find('.div_img').css("display", "inline-block");
            divlist.empty();
            //        var r = new RegExp('<td>(.*?)(?=<\/td>)', 'gi');
            //        var g = p.match(r);

            if (p.length === 0) {
                listbox_n = 1; // ничего не возвращено
            } else {
                divlist.css('display', 'block');
                var r = new RegExp('<td>' + inp.val() + '<\/td>', 'i');
                var g = p.match(r);
                listbox_n = g === null ? 0 : 2;
            }

            listbox_n |= (inp.val().length === 0) * 4; // нет введенного
//набранное != выбранному (т.е. выбрано и редактируется)
            listbox_n |= 8 * ((inp.val() !== inp.attr('data-old')) & (inp.attr('data-old').length > 0));

            switch (listbox_n) {
                case 8:
                case 9:
                    $(elem).find('.div_img .add').css("display", 'inline-block');
                    $(elem).find('.div_img .tick').css("display", 'inline-block');
                    listboxfonOn($(elem));
                    break;
                case 1:
                case 0:
                    $(elem).find('.div_img .add').css("display", 'inline-block');
                    $(elem).find('.div_img .tick').css("display", 'none');
                    listboxfonOn($(elem));
                    break;
                case 12:
                default :
                    $(elem).find('.div_img .add').css("display", 'none');
                    $(elem).find('.div_img .tick').css("display", 'none');
                    listboxfonOff($(elem));
            }

            divlist.append(p);
            divlist.css('display', 'block');

            $(divlist).find('td').on('click', function () {
                inp.attr("data-fn", $(this).attr("data-fn"));
                inp.attr("data-old", $(this).find("td").html());
                inp.attr("data-id", $(this).attr("data-id"));
                divlist.find("table").find("tr").unbind("click");
                divlist.unbind('hover');
                divlist.empty();
                divlist.parent().find('.div_img').css('display', 'none');
                divlist.css('display', 'none');
                inp.focus();
                $('.listbox_fon').remove();
                try {
                    window [callback]($(this).attr("data-id"));
                } catch (er) {
                    console.log(er);
                    console.log(callback);
                }
            });
            var xx = this.obj.id;
            $(this.shadow_root.getElementById('xxx')).find('td').attr('onmouseover', xx + '.td_mouseover(this);');



//            divlist.hover(
//                    function () {
//                    },
//                    function () {
//                        var n = parseInt(inp.attr("data-fn"));
//                        $(this).find('table').find("[data-fn=" + (n) + "]").css("background", "#ff0000");
//                    }
//            );

        },
        td_mouseover: function (p) {
            var inp = $(this.shadow_root.getElementById('in'));
            inp.val($(p).html());
            inp.attr("data-fn", $(p).attr("data-fn"));
        }

    }
});







var listbox_n;
function  listboxfonOn(elem) {
    if ($('.listbox_fon').length === 0) {
//        $('body').append('<div class="listbox_fon"></div>');
//        elem.css('z-index', '100');
    }
}
;
function listboxfonOff(elem) {
    $('.listbox_fon').remove();
//    elem.removeProp('z-index');
}

// listbox

...
Рейтинг: 0 / 0
29.01.2019, 09:57
    #39766322
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть Нормальная библиотека для работы с listbox ?
skyANA,
а либы как таковые я не люблю - как-то начал делать - для одного случая надо это, но не надо то, а и то и это противоречат друг другу, для третьего ещё что-то.....
получилось что-то невообразимо сложное, с 70% не нужного для каждого конкретного случая кода, но нужного в другом месте....
проще оказалось брать исходник и дотачивать по месту.
минимум кода - проще для понимания
...
Рейтинг: 0 / 0
29.01.2019, 10:25
    #39766338
SQLPowerUser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть Нормальная библиотека для работы с listbox ?
Делал когда-то различные списки на чистом JS, и если автору нужен только Listbox, то можно из исходников взять функции TBox и TListBox
https://jsfiddle.net/oq65m7ph/3/embedded/result/
...
Рейтинг: 0 / 0
30.01.2019, 18:42
    #39767268
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть Нормальная библиотека для работы с listbox ?
вадятут вроде и без доков понятно : https://github.com/JonHappy/JonHappy.github.io/blob/master/modal_menu/pic.html

не, понятно это:

Код: html
1.
<CropImage options={options} source={source} target={target} />



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

а смесь спагетти из CSS, HTML, JS, логики, оформления, данных, и т.д. и т.п. это привет из двухтысячных, которые всё никак не закончатся.

кроме того, что это очень дорого, это ещё ужасно, я как представил, что мне вот такое отдали и сказали что-нибудь там доработать -- аж поплохело.
...
Рейтинг: 0 / 0
30.01.2019, 18:43
    #39767270
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть Нормальная библиотека для работы с listbox ?
вадяа либы как таковые я не люблю - как-то начал делать - для одного случая надо это, но не надо то, а и то и это противоречат друг другу, для третьего ещё что-то.....
получилось что-то невообразимо сложное, с 70% не нужного для каждого конкретного случая кода, но нужного в другом месте....
проще оказалось брать исходник и дотачивать по месту.
минимум кода - проще для понимания

ну так для этого и придуманы компоненты. не нравятся чужие, пишешь свои.
но компоненты.

минимумом кода в описанном тобой случае не пахнет даже очень отдалённо.
...
Рейтинг: 0 / 0
30.01.2019, 18:47
    #39767272
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть Нормальная библиотека для работы с listbox ?
hVosttа смесь спагетти из CSS, HTML, JS, логики, оформления, данных, и т.д. и т.п. это привет из двухтысячных, которые всё никак не закончатся.

кроме того, что это очень дорого, это ещё ужасно, я как представил, что мне вот такое отдали и сказали что-нибудь там доработать -- аж поплохело.ну как кому, мне не трудно разбираться в коде js, поэтому и отошёл от jquery, насмотревшись , что там написано....
...
Рейтинг: 0 / 0
30.01.2019, 18:54
    #39767274
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть Нормальная библиотека для работы с listbox ?
hVosttминимумом кода в описанном тобой случае не пахнет даже очень отдалённо.по ссылке - нет, но там всё элементарно и там не надо никаких либ(ну кроме драг-и-дроп)
там сама программа кадрирования-обрезки.
а под спулером - как раз пользовательский компонент - выпадающий список для отображения найденного по введенному.
вот этот компонент я и написал
...
Рейтинг: 0 / 0
30.01.2019, 22:32
    #39767336
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть Нормальная библиотека для работы с listbox ?
вадяну как кому, мне не трудно разбираться в коде js, поэтому и отошёл от jquery, насмотревшись , что там написано....

никому не охота платить за то, чтобы кто-то "разбирался в коде", нужно
задачи решать, и быстро. чем больше приходится разбираться, тем меньше
в итоге задач решается, тем бесполезнее затраченное время.

трудно ли убирать навоз в свинарнике?
нет, не трудно.
как не странно, но есть люди, которые находят в этом удовольствие.

глядя на спагетти из кода, без единого комментария, без разбивки на компоненты,
без архитектуры, можно сказать, что за такой труд вряд ли стоит платить,
так как его нельзя не протестировать, не переиспользовать без копипасты,
да и разбираться в нём ни у кого желания нет и не будет.

в этом попросту нет смысла. ни эмоционального, ни финансового.

можно взять абсолютно любой кусок этого кода и получить просто шквал критики:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
            document.documentElement.addEventListener("keyup", function (event) {
                event.preventDefault();
                var k = event.keyCode || event.charCode;
                switch (k)
                {
                    case 16:
                        document.getElementById('arrow_h').style.backgroundImage = 'url(pic/arrow_h_green.png)';
                        window.xx = false;
                        break;
                    case 17:
                        document.getElementById('arrow_v').style.backgroundImage = 'url(pic/arrow_v_green.png)';
                        window.yy = false;
                        break;
                }
            });



что за магические цифры 16, 17? за это по рукам лупят и больно.
всё и вся прибито намертво железными гвоздями, конкретные картинки захардкожены = мёртвый код.
window.xx? window.yy? серьёзно?? за глобальные переменные у нас бы сразу поставился вопрос о профпригодности, если это не зелёный джун, хотя и ему должно было быть стыдно.
ну и до кучи, var? не очень бьётся после заявлений о переменных css, сокетах, на острие прогресса.. ))

я к тому, что в целом, рабочий код можно написать как угодно через одно место, лишь бы работало.
но такая работа ни стоит ни гроша. продать можно, только если заказчик лопух. только в этом случае.
...
Рейтинг: 0 / 0
30.01.2019, 22:37
    #39767337
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть Нормальная библиотека для работы с listbox ?
вадяа под спулером - как раз пользовательский компонент - выпадающий список для отображения найденного по введенному.
вот этот компонент я и написал

это правильный шаг.
на заглянув внутрь.... эмм.. шагов ещё надо сделать очень много :)
...
Рейтинг: 0 / 0
30.01.2019, 22:49
    #39767338
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть Нормальная библиотека для работы с listbox ?
revda.infoНеужели все так страшно и никто еще кроме KendoUI не написал такой библиотеки, а KendoUI раздает ее за какие-то космические деньги.Кенду платный, по-моему, только грид. Остальное - бесплатно. Можете смело юзать ))
...
Рейтинг: 0 / 0
31.01.2019, 07:02
    #39767369
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть Нормальная библиотека для работы с listbox ?
hVosttчто за магические цифры 16, 17? за это по рукам лупят и больно.остальное можно не читать. некоторые коды надо знать на память. да и найти нет проблем.
window.xx? window.yy - "безумное имя" переменной уже само по себе обозначает, что оно чисто вспомогательное.
тем более что в контексте встречается 'arrow_v'/ 'arrow_h' . ну направления осей имеют стандартные обозначения.
hVosttзадачи решать, и быстро. чем больше приходится разбираться, тем меньше
в итоге задач решается, тем бесполезнее затраченное время.я пытался найти что-то готовое, но ничего не было - всё что предлагалось ни делало того что требуется, вот и пришлось самому писать.
вот и решил задачу.
а по поводу разбирательств - так это куча вопросов по всяким либам и fw говорит о том, что и в том что написано с использованием их требует времени на разбирательство и понимание. а уж если что-то поменять - тут уже эти либы и fw вносят столько своих ограничений, что мало не кажется.
так что критиковать можешь сколько угодно.
...
Рейтинг: 0 / 0
31.01.2019, 10:24
    #39767423
Дмитрий Мух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть Нормальная библиотека для работы с listbox ?
вадяskyANAИ как, в чем документацию на свои компоненты ведете? На примере того же listbox можешь показать?я фрилансер фулстек
мне достаточно чтоб код был логический - тогда минимум комментов достаточно.
тут вроде и без доков понятно
Понятно. Команды нет, документации нет.
ИМХО тогда следует писать не "любой знающий основы", а теоретически любой знающий основы

и на практике любой знающий основы JS без труда разберётся в хорошо задокументированной библиотеке с живыми примерами
а вот разбирательство в чужом коде без комментариев, написанном по принципу берём откуда-то кусок кода и дотачиваем по месту, зачастую приводит к плотному потоку лучей добра в адрес автора
...
Рейтинг: 0 / 0
31.01.2019, 12:05
    #39767498
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть Нормальная библиотека для работы с listbox ?
Дмитрий Мухи на практике любой знающий основы JS без труда разберётся в хорошо задокументированной библиотеке с живыми примерамиразбираться в библиотеке и разбираться в коде это раз не одно и тоже?
когда в либах надо понять что из их возможностей надо использовать - это куча времени, равносильно тому что и код написать.
а повторное использование - не всегда один в один.
и есть куча вопросов как в той или иной либе сделать то или иное, на что эта либа не предназначена..
и городят велосипеды.
так что твои осуждения односторонни.
комментировать элементарные строки - ну как бы рассчитывать что код будет править первоклашка?
если не сможешь разобраться - значить не фиг править.
...
Рейтинг: 0 / 0
31.01.2019, 19:15
    #39767797
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть Нормальная библиотека для работы с listbox ?
вадяостальное можно не читать. некоторые коды надо знать на память. да и найти нет проблем.

про "остальное можно не читать" доставило.
это плохая практика программирования, отмазы типа "надо знать на память", "найти нет проблем"
-- крайне унылые и до безобразия смешные.

вадяwindow.xx? window.yy - "безумное имя" переменной уже само по себе обозначает, что оно чисто вспомогательное.

нет, оно означает, что два одинаковых компонента могут влиять друг на друга, а другой разработчик использует его для других целей.

это практика программирования ещё уродливей и по последствиям хуже, чем магические числа.
не знать этого -- очевидный показатель отсутствия профессионализма.

вадяя пытался найти что-то готовое, но ничего не было - всё что предлагалось ни делало того что требуется, вот и пришлось самому писать.
вот и решил задачу.

это плохое оправдание.
учитывая, что всё программирование строится на переиспользовании.
видимо плохо пытался (читай, и не пытался вовсе)
или не разобрался с тем, что нашёл
или не хватает знаний, опыта и профессионализма использовать готовые решения

эт не значит, что надо делать только на всём готовом,
но... листбокс не найти? или кроппер изображений? ну-ну.

вадяа по поводу разбирательств - так это куча вопросов по всяким либам и fw говорит о том, что и в том что написано с использованием их требует времени на разбирательство и понимание. а уж если что-то поменять - тут уже эти либы и fw вносят столько своих ограничений, что мало не кажется.

один и тот же fw знают десятки и сотни тысяч людей.
если тебе это мало о чём говорит, ну как бы.. без комментариев.

вадятак что критиковать можешь сколько угодно.

критика целью сообщения не была. это лишь для примера, что расти есть куда. главное, чтобы рост происходил, а не топтание на месте.
...
Рейтинг: 0 / 0
31.01.2019, 19:18
    #39767801
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть Нормальная библиотека для работы с listbox ?
вадяразбираться в библиотеке и разбираться в коде это раз не одно и тоже?

разбираться с инструкцией по использованию кирпича
и разбираться с технологией производства кирпичей, или изобретать свою?

очевидно, что ни одно и то же


вадяи есть куча вопросов как в той или иной либе сделать то или иное, на что эта либа не предназначена..
и городят велосипеды.

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

без обид, плз. хочется донести мысль, что не стоит пренебрегать сложившейся практикой, знаниями и методикой, чем ты настойчиво занимаешься -- себе в ущерб.
...
Рейтинг: 0 / 0
31.01.2019, 19:54
    #39767814
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть Нормальная библиотека для работы с listbox ?
hVosttучитывая, что всё программирование строится на переиспользовании.
видимо плохо пытался (читай, и не пытался вовсе)
или не разобрался с тем, что нашёлвот не надо так опрометчиво заявлять.
я кучу всего перерыл. можешь не верить, и проверить.


hVosttно... листбокс не найти? или кроппер изображений? ну-ну.такого кропера не найдёшь. однозначно. кадрирует, поворачивает, изменяет размер, делает обрезку под нужный размер и делает превьюшку малого размера(а вот тут есть одна фишка, которой нет нигде :) )

лист-бокс - возможно и найдёшь, но с ним тоже не всё просто, есть фишки. я с помощью моего лист-бокса могу и изменить найденное и добавить и выбрать. и ищет он в базе на сервере... с помощью like... ну и есть фишка - это работает для ячеек таблиц.
...
Рейтинг: 0 / 0
31.01.2019, 19:56
    #39767815
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть Нормальная библиотека для работы с listbox ?
hVosttк сожалению я не увидел ничего такого, о чём ты говоришь.
увидел велосипед, при чём такого качества, за который и рубль отдать -- дорого.ну значит плохо смотрел
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Есть Нормальная библиотека для работы с listbox ? / 25 сообщений из 121, страница 1 из 5
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]