- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
var SomeObject = {
ToggleUploadButton: function () {
/// <summary>Отобразить или спрятать кнопку загрузки</summary>
var arr = this._ImageList.getElementsByTagName("LI");
if (arr.length > 0)
$(this._UploadPanel).removeAttr("disabled");
else $(this._UploadPanel).attr("disabled", "disabled");
},
OnButtonClick: function (e) {
/// <summary>Обаботка события нажатия на кнопку "Загрузить". Проходим по всем миниатюрам из списка, читаем у каждой свойство file (добавленное при создании) и начинаем загрузку, создавая экземпляры объекта uploaderObject. По мере загрузки, обновляем показания progress bar, через обработчик onprogress, по завершении выводим информацию.</summary>
if (!this.IsUploadCompatible)
return true;
if ($(this._UploadPanel).attr('disabled') !== undefined) return false;
//...
}
}
Вот таким красивым способом проверяем на наличие файлов в контейнере для загрузки...
kegdan 01.08.2014 17:29 # 0
TauSigma 01.08.2014 17:34 # +1
kegdan 01.08.2014 17:40 # 0
TauSigma 01.08.2014 17:50 # 0
А то мало-ли, что может произойти в таком говорящем за себя событии как "OnButtonClick" >:)
Код для клиента на .NET'е, а там - Sandcastle в помощь.
guest 02.08.2014 01:32 # +2
kegdan 02.08.2014 04:40 # 0
guest 02.08.2014 05:27 # 0
kegdan 02.08.2014 06:19 # 0
Qwertiy 02.08.2014 09:46 # +1
kegdan 02.08.2014 10:20 # +3
Qwertiy 02.08.2014 10:35 # 0
Хотя.. А что, Моно так не умеет?
kegdan 02.08.2014 10:40 # 0
TauSigma 05.08.2014 12:21 # 0
А самом VS IDE для ES'а, есть следующие интересные конструкции:
Но честно говоря, студийная IDE для написания ES кода - говно... ... Или ES - говно. Вообщем, без говна там точно не обошлось.
defecate-plusplus 05.08.2014 12:25 # −1
Enterprise Shit?
мои могут и похоливарить, что им удобнее для js - студия 13 или идея 13
roman-kashitsyn 05.08.2014 12:26 # 0
ECMA Script ?
TauSigma 05.08.2014 12:36 # 0
ECMA-262
https://ru.wikipedia.org/wiki/EcmaScript
>мои могут и похоливарить, что им удобнее для js - студия 13 или идея 13
Я ща попробовал идею 13. Вроде удобно, но не привычно, что после ввода точки, функции и переменные объекта не показываются. И какую-то ересь на Ctrl+пробел выдаёт.
Хотя, я идею пару недель назад только поставил. Пока даже мир не поприветствовал.
kegdan 05.08.2014 12:56 # 0
defecate-plusplus 05.08.2014 13:04 # 0
kegdan 05.08.2014 13:05 # 0
roman-kashitsyn 05.08.2014 13:09 # +1
IDE Settings -> Keymap -> Keymaps: Visual Studio
bormand 05.08.2014 13:26 # 0
roman-kashitsyn 05.08.2014 16:13 # +1
Да если бы бета.
Stay tuned and wait till the first public EAP of JetBrains C++ IDE.
-- http://www.jetbrains.com/objc/features/cpp.html
guest8 25.11.2019 17:48 # −999
Rooster 25.11.2019 19:02 # 0
BJlADuMuPCKuu_nemyx 25.11.2019 21:15 # 0
Так вот оно что )))
TauSigma 05.08.2014 13:27 # +1
Пример:
А если начать писать, то начинает выдавать нормальные хинты.
Qwertiy 05.08.2014 13:09 # +1
А summary не пользовался, возможно, тоже как-то делается.
TauSigma 05.08.2014 13:31 # 0
Но только он его в любое место файла добавляет, а не в шапку.
Ну и такой фишкой удобно пользоваться, если установлена синхронизация "Solution Explorer"'а и активного документа.
Ну и для любителей гонять мышь. ;)
TauSigma 05.08.2014 12:25 # 0
2) На XML легко накладывается XSLT преобразование, что обеспечивает лёгкую расширяемость того-же IntelliSence'а
Но, к сожалению, M$ услышал крики ненавистников XML'я и теперь, в ASP.NET vNext, конфиги будут храниться в формате JSO... x_x
1024-- 05.08.2014 12:32 # 0
Но файл с исходным кодом - не XML. Если я правильно понимаю, его всё равно же придётся парсить и вырезать все "/// питушня". А значит можно распарсить питушню в любом формате и свести к XML без заметных потерь производительности.
kegdan 05.08.2014 12:59 # 0
1024-- 05.08.2014 13:10 # 0
Кстати, реализовав более простой формат, можно закодить эффективное преобразование исходников в XmlDocument и получить ПЕРФОМАНС.
kegdan 05.08.2014 13:15 # +1
guest8 21.11.2019 01:04 # −999
TauSigma 25.11.2019 13:42 # 0
Ну и к xml/json как-то пофиг, в зависимости от решаемой проблемы.
TauSigma 05.08.2014 12:50 # +1
Может я такой привиредливый или недостаточно корректно описал проблему.
Есть контейнер, куда пользователь кидает файлы на закачку.
Есть кнопка "Upload", по нажатию на которую, всё содержимое контейнера (ul->li) закачивается на сервер.
Соответственно, пока файлов для закачки нет, то кнопка "Upload" помечена как "disabled"="disabled".
Как только появляются файлы для закачки, кнопка "Upload" становится активной. И при нажатии на неё должна происходить загрузка файлов на сервер.
Соответственно, автор кода, решил в OnButtonClick проверять не наличие файлов для закачки, а проверять, доступна-ли для нажатия кнопка или не доступна (Допустим, сработал OnSubmit на форме или кто-то вызвал метод через консоль).
Получается, следующий нехороший сценарий:
Дизайнер решил поменять стиль на кнопке и вместо "disabled"="disabled" использовать, скажем, отдельный класс или "style="display:none".
Последствие: Код в OnButtonClick будет всегда обходить проверку кнопки стороной. Т.к. она больше никогда не будет disabled.
Решение:
Вместо проверки на доступность кнопки, проверить наличие файлов для закачки.
kegdan 05.08.2014 13:03 # 0
TauSigma 05.08.2014 13:20 # +1
И не отрабатывала клиентская проверка на наличие файлов. Из-за этого, сервер генерил ошибку об отсутсвии файлов.
Т.к. контора у нас не вендорная, то в некоторых местах, код даже с отключённым JS должен работать.
kegdan 05.08.2014 13:22 # 0
guest8 25.11.2019 14:27 # −999
guestinxo 26.11.2019 01:15 # 0