Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Унылого треша тред (https://javascript.ru/forum/offtopic/47728-unylogo-tresha-tred.html)

devote 14.06.2013 12:31

Цитата:

Сообщение от Shaci
Чувак всерьез думал, что он умный и избранный, написав функцию???

Ладно бы хоть различия были бы весомые.. А то тот самый список функций класс... Все идентично делают одно и тоже, просто в разных позах)))

iMegaMaxmaxmaximus 14.06.2013 13:28

Ну ладно я не прикалываюсь) и разумеется я начал писать функцию еще до того как увидел этот список) а перестал когда про тайпскрипт узнал)

iKillMaxmaxmaximus 28.06.2013 02:09

UI.js 0.7 demo
 
<script src="http://yourjavascript.com/3017238062/fix.js"></script>
<script src="http://yourjavascript.com/3322168260/ui.js"></script>


<script>
ui.module['Slideshow'] = function($, scope) {

  scope.active = 0;

  $.on('keydown(left)', function() { scope.active-- });
  $.on('keydown(right)', function() { scope.active++ });

  var srcs = [
    'http://cs402424.vk.me/v402424516/5f39/j9NEVbzaFho.jpg',
    'http://cs540109.vk.me/c540101/v540101247/1e08/h5zYSV2a3C8.jpg',
    'http://cs413921.vk.me/v413921890/1b63/q1lALPeD_9k.jpg',
    'http://cs413921.vk.me/v413921890/1b52/gfODdvg3BeU.jpg',
    'http://cs540109.vk.me/c540101/v540101247/1dfa/9tZrEKSJUPs.jpg',
    'http://cs540109.vk.me/c540101/v540101247/1dec/IdbEO_5ghdE.jpg',
    'http://cs417724.vk.me/v417724583/9737/OmJeOnhTQ9I.jpg'
  ];

  $('slide').model({position: 'middle', src: ''});
  $('slide').repeat('src', srcs);
  $('slide').watch('active', function(i, scope) {
    var active = scope.active;
    scope.position = (i < active) ? 'left' : (i > active) ? 'right' : 'center';
  });


  $('menu-item').model({index: 0}).repeat(srcs).each(function(i, scope) {
    scope.index = i;
  }).on('click', function(e, i) {
      scope.active = i;
  });

};

</script>



<style>
    .Slideshow {
      position    : absolute;
      width       : 600px;
      height      : 400px;
      left        : 50%;
      top         : 50%;
      margin-left : -300px;
      margin-top  : -200px;
      list-style  : none;
      padding     : 0;
      overflow    : hidden;
    }

    .Slideshow_slide {
      position   : absolute;
      width      : 100%;
      height     : 100%;
      transition : all 0.3s;
    }

    .slide_left { left : -100% }
    .slide_right { left : 100% }

    li:hover {
      background-color : red;
      cursor           : pointer;
    }
</style>


<div ui="Slideshow{ #myMenu toggle }">

  <ul class="Slideshow">
    <img ui="Slideshow-slide" src="{{src}}" class="Slideshow_slide slide_{{position}}">
  </ul>

  <ul>
    <li ui="Slideshow-menu-item">слайд {{index}}</li>
  </ul>

</div>

iKillMaxmaxmaximus 28.06.2013 02:13

все соснули ^__^

devote 28.06.2013 02:49

Я вот сижу на IPad'e и как мне по твоему листать?

iKillMaxmaxmaximus 28.06.2013 02:51

Цитата:

Сообщение от devote
Я вот сижу на IPad'e и как мне по твоему листать?

Ну это вообще как-то связано с ui? Или чо? Или это намек на то что надо добавить сенсорные события?
ну давай на кнопочки повесим листалку еще)

devote 28.06.2013 02:52

Это намек на то что твое Демо у меня не пашет)

iKillMaxmaxmaximus 28.06.2013 03:02

все)
и да, разумеется массив картинок получаться будет через api как то так


$.api.getImages(function(srcs){
    $('slide').repeat('src', srcs);
});

^__^

devote 28.06.2013 03:07

Тьфу ты. Я думал тут что то интересное, а тут обычная переключалка фото. Хотя бы плавность добавил бы. А то такую переключалку и без твоих скриптов в пять строк кода сделать не проблема

iKillMaxmaxmaximus 28.06.2013 03:16

Цитата:

Сообщение от devote
Хотя бы плавность добавил бы.

слушай зайди с норм устройства а =___=
а не с недокомпьютера

Цитата:

Сообщение от devote
А то такую переключалку и без твоих скриптов в пять строк кода сделать не проблема

не совсем, я подгружаю картинки через api и добавляю их я могу сделать еще много чего, тут я же продемонстрировал то в как мало строчек кода пишется анимированная(trnsition) галерея.

iKillMaxmaxmaximus 28.06.2013 03:19

devote, о, придумал, сделаю ка я рядом модуль менюшку которая бы по сокетам переключала слайды в галерее ^___^

iKillMaxmaxmaximus 28.06.2013 03:35

devote, все, сделал, обрати внимание как 2 модуля общаются по средством сокетов (сокет toggle)

а так же обрати внимание что данные можно заносить как декларативно (прямо в html) так и динамически подгружать аяксом и подставлять под шаблон ^__^

devote 28.06.2013 03:37

Цитата:

Сообщение от iKillMaxmaxmaximus
а не с недокомпьютера

Этим недокомпьютером к вашему сведению, пользуются не мало народу. Я бы на твоем месте подумал об этом.

iKillMaxmaxmaximus 28.06.2013 03:52

Цитата:

Сообщение от devote
Я бы на твоем месте подумал об этом.

Ну явно не в демках) на сайте яваскрипт ру. код тут не причем он работает и на планшетах, суть в том кто какой модуль запилит я вот показал тут что можно указывать фильтры событий keydown(up) например и.т.п.

Я уже сказал что понял тебя на счет мобилок я НЕ СЧЕЛ нужным писать css префиксы для анимации, не более) анимация это оформление и за это отвечает css.

Ты мне лучше расскажи как ты относишься к анимированной галерее в 15 строчек кода)?
Которую можно расширять, подключать к ней модули и.т.п.

Gozar 28.06.2013 09:24

Цитата:

Сообщение от iKillMaxmaxmaximus
Ты мне лучше расскажи как ты относишься к анимированной галерее в 15 строчек кода)?

А можно я скажу?

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

Давай еще пример.

DjDiablo 28.06.2013 09:55

и как этим пользоваться.
меню слева несвязано с данными, количество li может отличаться от количества картинок.
Слайдер внедрять сложно, так как каждый раз нужно прописывать картинки и кучу html
чтобы внедрить 2й сладйер нужно копипастить js и html
Слайдер не индексируется поисковиком.

глубже копать боюсь.

Я говорю о конкретном приведённом тобой примере.

melky 28.06.2013 11:07

Цитата:

Сообщение от iKillMaxmaxmaximus (Сообщение 258928)
не совсем, я подгружаю картинки через api и добавляю их я могу сделать еще много чего, тут я же продемонстрировал то в как мало строчек кода пишется анимированная(trnsition) галерея.

модуля базовых действий, вроде анимации, еще нету?

iKillMaxmaxmaximus 28.06.2013 12:05

Цитата:

Сообщение от Gozar
Давай еще пример.

так ты прав, давайте я лучше сделаю пример на ангуляре и то же самое на ui ? норм)?

Цитата:

Сообщение от DjDiablo
меню слева несвязано с данными, количество li может отличаться от количества картинок.

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

короче ладно я смотрю вы по коду не можете определить чо каждый метод делает так что надо носом тыкать и писать маны.. а я думал что названия очевидные получатся((



Цитата:

Сообщение от melky
модуля базовых действий, вроде анимации, еще нету?

был но я его выпилил, раньше было около 50 методов в стиле jquery но потом я понял что так работать нельзя и нам надо работать с этими html элементами как с данными. Раньше в коллекции хранились htmlэлементики а щас там хранятся ДАННЫЕ, вот с ними то мы и работаем, мы изменяем коллекцию и это автоматически отражается на html, типа того, коллекция содержит данные. Вот я думаю, стоит ли добавлять обратно не православные методы animate, css и fx. Или похуй что не православные главное что удобные?

iKillMaxmaxmaximus 28.06.2013 12:13

Цитата:

Сообщение от DjDiablo
Слайдер внедрять сложно, так как каждый раз нужно прописывать картинки и кучу html
чтобы внедрить 2й сладйер нужно копипастить js и html
Слайдер не индексируется поисковиком

что? тут каждая строчка неправда О_О ты либо вообще не в теме? либо чо.

ну во первых, чо что там у тебя не индексируется это лишь от криворукости, нормальные пацоны умеют индексировать аякс приложения, гугл в помощь. во вторых, модули будут в будущем подгружаться(их яваскрипт код) АВТОМАТИЧЕСКИ с моего сайта, если не обнаружены локально, ну или можно будет вверху какой нить файлик с импортом сделать типа какие модули с сайта моего подключить и какие имена им дать внутри проекта и.т.п. во вторых появятся шаблоны, один раз описал галерею а потом в месте где хочешь чтобы она рисовалась прописываешь имя шаблона и все. более того шаблоны так же могут подгружаться как часть модуля с моего сайта, это же версия 0.7 ну, тут я прост показываю удобство ui, а оно по истине элитарно).

Gozar 28.06.2013 12:15

Цитата:

Сообщение от DjDiablo
Слайдер внедрять сложно, так как каждый раз нужно прописывать картинки и кучу html
чтобы внедрить 2й сладйер нужно копипастить js и html

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

аля:
ui.setSlider(imgsObj, parent);


а теперь смотрю и думаю, нафига пихать картинки в массив, отдельно, а подписи в html
<li ui="Menu-item">слайд 1</li>
, это же двойной труд. В итоге проще уж тогда пихать туда и
<a> и <img>
тогда и индексирование будет, хотя я и не понимаю зачем слайдеру индексирование. Я так понял шаблонизатор еще в пути?

iKillMaxmaxmaximus 28.06.2013 12:19

Цитата:

Сообщение от Gozar
а теперь смотрю и думаю, нафига пихать картинки в массив, отдельно, а подписи в htm

какие подписки в html я чото не понял, ты прикалываешься или ты не читал то что выше написано?

есть 2 модуля, я показал что их можно связывать по сокетам, в одном данные описаны декоративно а другом динамически(то есть вот этот массив с ссылочками на картиинки можно и нужно подгружать аяксом), я показал что можно работать и так и так, модули вообще не связные чтоб их связь хоть как то показать я сделал чтобы по сокету циферка передавалась , не более.

НЕ НАДО ТАК ПРОГРАММИРОВАТЬ, если вы хотите сделать галерею с менюшкой сделайте менюшки частью модуля галерея , и это очевидно. короче надо демо лучше сделать тут наверное моя вина что вы не читаете что я пишу а смотрите только демо.

что-не-по-нят-но-го?

Gozar 28.06.2013 12:21

Цитата:

Сообщение от iKillMaxmaxmaximus
короче ладно я смотрю вы по коду не можете определить чо каждый метод делает так что надо носом тыкать и писать маны.. а я думал что названия очевидные получатся((

Ну ты босс, тебе виднее. XXL чего ты хочешь показать. Мне один умный человек, однажды сказал - Если ты не скажешь что ты умеешь, то никто и не узнает. Тут та же история. Все не в курсе, что ты показываешь, а разбираться лень.

iKillMaxmaxmaximus 28.06.2013 12:23

Ну ясно, мож видяху записать?

Gozar 28.06.2013 12:24

У меня твой демо ничего не показывает, АНДЕРСТЕНД? я вижу только код, картинки не грузятся.

iKillMaxmaxmaximus 28.06.2013 12:25

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

что значит демо не показывает? баг типа?

Gozar 28.06.2013 12:25

то и значит, сейчас тупо место под картинку

Gozar 28.06.2013 12:26

задрали своими вконтактиками, НЕ ЗАРЕГАН Я!!!


iKillMaxmaxmaximus 28.06.2013 12:54

Цитата:

Сообщение от Gozar
НЕ ЗАРЕГАН Я

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

п.с. хорошо щас пикчи другие поставлю

DjDiablo 28.06.2013 12:54

Ещё раз повторю плагин в реальный проект встраивать нельзя.
Приведи нормальный пример.

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

Я не понимаю в чём прикол писать бесполезную библиотеку. Смысл ui фреймворка в том чтобы создавать кирпичи из которых потом удобно строить дом. У тебя вместо кирпича навозная куча вышла, как его в стену ставить ?

К примеру
вот кирпичик раз <menu></menu> - это меню
вот кирпичек 2 <slide></slide> - это слайдер
а вот собранное из кирпичиков приложение.
<div id="contr1" class="controller">
  <menu data-source="imglist" select="selectitem"></menu>    
  <slide data-source="imglist" select="selectitem"></slide>
</div>

Причём это можно даже на голом jQuery реализовать

iKillMaxmaxmaximus 28.06.2013 12:55

Gozar, все кстати сделал меню частью модуля слайд шоу, оно динамическое, правда делано немного костыльненькопо этому надо добавлять еще один метод) подумать как красиво биндить 2 коллекции к одному массиву данных)

DjDiablo 28.06.2013 14:11

Цитата:

Причём это можно даже на голом jQuery реализовать
не буду голословным.

в демки три компонента, все слабо связанны между собой. Для хардкора не испозованы даже хелперы.
Собственно это просто доказательство возможности, на angular это проблема конечно изящнее решается.
в демках UI я вообще не ивдел никогда декомпозиции, походу её там тупо нет.

всё описание использования и взаимодействия компонентов занимает 4 строчки.
<div id="contr1" class="controller">
  <menu data-source="imglist" select="selectitem"></menu>    
  <slide data-source="imglist" select="selectitem"></slide>
</div>

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

<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script>
	$(function(){    	

	    //================== плагин слайдера ===================//
	    $('slide').each(function(){
		  var me= $(this),
		      ds=me.attr('data-source'),
		      selItem=me.attr('select'),
			  scope=me.parent('.controller');
	
		  //применим шаблон
	      me.append('<ul class="Slideshow"></ul>');            	  
	
		  //слушаем изменения в data-source
		  scope.on('change-'+ds, function(){		  
			  $('li',me).remove();

		      scope.data(ds).forEach(function(img){
			  	$('ul',me).append('<img src="'+img+'" class="Slideshow_slide">');
			  })
		  })		

		  //слушаем изменения в selectItem
		  scope.on('change-'+selItem,function(){
			  me.find('img').removeClass('Slideshow_slide').addClass('Slideshow_slide_hide');	
			  me.find('img:eq('+scope.data(selItem) +')').removeClass('Slideshow_slide_hide').addClass('Slideshow_slide');		
		  })
  		
	    });   

	    //================== плагин меню ===================//

	    $('menu').each(function(){
		  var me= $(this),
		      ds=me.attr('data-source'),
		      selItem=me.attr('select'),
			  scope=me.parent('.controller');
	
		  //применим шаблон
	      me.append('<ul></ul>');            	  

		  //слушаем изменения в data-source 	
		  scope.on('change-'+ds,function(e){		  
		      scope.data(ds).forEach(function(img){
			  	$('ul',me).append('<li>'+img+'</li>');
			  })

			  me.find('li').click(function(e){
				scope.data(selItem, $(this).index() );
				scope.trigger('change-'+selItem);
			  })			  		
		  })
		  
	    });  
    

	    //================== контроллер ===================//

		$('#contr1').each(function(){
			var me=$(this);

			me.data('imglist',[
			   'http://cs402424.vk.me/v402424516/5f39/j9NEVbzaFho.jpg',
			   'http://cs540109.vk.me/c540101/v540101247/1e08/h5zYSV2a3C8.jpg',
			   'http://cs413921.vk.me/v413921890/1b63/q1lALPeD_9k.jpg',
			   'http://cs413921.vk.me/v413921890/1b52/gfODdvg3BeU.jpg',
			   'http://cs540109.vk.me/c540101/v540101247/1dfa/9tZrEKSJUPs.jpg',
			   'http://cs540109.vk.me/c540101/v540101247/1dec/IdbEO_5ghdE.jpg',
			   'http://cs417724.vk.me/v417724583/9737/OmJeOnhTQ9I.jpg'
		    ])   
		
			me.data('selectitem',0);

			//оповестим плагины об изменении данных
			me.trigger('change-imglist');	
			me.trigger('change-selectitem');	
		})			
	})                  

</script>

<style>
    .Slideshow {
      position    : relative;
      width       : 600px;
      height      : 400px;
      list-style  : none;
      padding     : 0;
      overflow    : hidden;
    }

    .Slideshow_slide_hide{
      position   : absolute;
      width      : 0%;
      left       : 50%;
      height     : 100%;
      transition : all 0.2s;
	}

    .Slideshow_slide {
      position   : absolute;
      width      : 100%;
      height     : 100%;
      transition : all 0.2s 0.2s;
    }

    li:hover {
      background-color : red;
      cursor           : pointer;
    }
</style>

<div id="contr1" class="controller">
  <menu data-source="imglist" select="selectitem"></menu>    
  <slide data-source="imglist" select="selectitem"></slide>
</div>

iKillMaxmaxmaximus 28.06.2013 14:13

Ну окей, теперь сделай так чтобы при клике колесиком мышки по активному слайду он и его пункт меню удалялся) ^__^

это то что у меня делается вот так

$('slide').on('click(m-middle)', function(event, index){
  $('slide').splice(index, 1);
});


кстати надо обертку на удалялку написать) точно)


п.с. и теперь посмотри на мои 15 строчек кода и на свои, а так же я не понял что ты хочешь доказать, ты хочешь показать свое незнание зачем нужны шаблонизаторы или что)? Если ты не знаешь зачем они нужны я могу быстренько по задавать тебе квесты от которых у тебя руки дыбом встанут) которые на шаблонизаторах решаются за 5 секунд) если уж тебе лень смотреть пособия по ангуляру)

ок ок небольшое соревнование, давай напишем простое TODO приложение))

щас я опишу цель задания

DjDiablo 28.06.2013 14:40

Причём тут шаблонизаторы, или размер кода.
Я не это пытаюсь донести. Я не полный псих чтобы angular серьёзно заменять jQuery. То что я написал это хардкор, по принципу могу жопой пропердеть концерт рахманинова.

Я сделал важную вещь, я создал два независимых компонента и отправил их в чёрный ящик.
с точки зрения пользователя компонентов приложение выглядит так.
<script>
$('#contr1').each(function(){
			var me=$(this);

			me.data('imglist',[
			   'http://cs402424.vk.me/v402424516/5f39/j9NEVbzaFho.jpg',
			   'http://cs540109.vk.me/c540101/v540101247/1e08/h5zYSV2a3C8.jpg',
			   'http://cs413921.vk.me/v413921890/1b63/q1lALPeD_9k.jpg',
			   'http://cs413921.vk.me/v413921890/1b52/gfODdvg3BeU.jpg',
			   'http://cs540109.vk.me/c540101/v540101247/1dfa/9tZrEKSJUPs.jpg',
			   'http://cs540109.vk.me/c540101/v540101247/1dec/IdbEO_5ghdE.jpg',
			   'http://cs417724.vk.me/v417724583/9737/OmJeOnhTQ9I.jpg'
		    ])   
		
			me.data('selectitem',0);

			//оповестим плагины об изменении данных
			me.trigger('change-imglist');	
			me.trigger('change-selectitem');	
		})			
</script>
<div id="contr1" class="controller">
  <menu data-source="imglist" select="selectitem"></menu>    
  <slide data-source="imglist" select="selectitem"></slide>
</div>


У тебя все кишки на виду.
<script>
ui.module['Slideshow'] = function($, scope) {

  scope.active = 0;

  $.on('keydown(left)', function() { scope.active-- });
  $.on('keydown(right)', function() { scope.active++ });

  var srcs = [
    'http://cs402424.vk.me/v402424516/5f39/j9NEVbzaFho.jpg',
    'http://cs540109.vk.me/c540101/v540101247/1e08/h5zYSV2a3C8.jpg',
    'http://cs413921.vk.me/v413921890/1b63/q1lALPeD_9k.jpg',
    'http://cs413921.vk.me/v413921890/1b52/gfODdvg3BeU.jpg',
    'http://cs540109.vk.me/c540101/v540101247/1dfa/9tZrEKSJUPs.jpg',
    'http://cs540109.vk.me/c540101/v540101247/1dec/IdbEO_5ghdE.jpg',
    'http://cs417724.vk.me/v417724583/9737/OmJeOnhTQ9I.jpg'
  ];

  $('slide').model({position: 'middle', src: ''});
  $('slide').repeat('src', srcs);
  $('slide').watch('active', function(i, scope) {
    var active = scope.active;
    scope.position = (i < active) ? 'left' : (i > active) ? 'right' : 'center';
  });


  $('menu-item').model({index: 0}).repeat(srcs).each(function(i, scope) {
    scope.index = i;
  }).on('click', function(e, i) {
      scope.active = i;
  });

};

</script>

<div ui="Slideshow{ #myMenu toggle }">
  <ul class="Slideshow">
    <img ui="Slideshow-slide" src="{{src}}" class="Slideshow_slide slide_{{position}}">
  </ul>

  <ul>
    <li ui="Slideshow-menu-item">слайд {{index}}</li>
  </ul>
</div>


Кода на функционал конечно меньше чем у jQuery, но то что ты с его помощью разрабатываешь слишком сложно использовать. И я немогу добится от тебя примера где бы ты показал что я могу разработать деталь которую удобно встроить.

Я не хочу писать вот такую парашу каждый раз когда мне нужен слайдер.
<div ui="Slideshow{ #myMenu toggle }">
  <ul class="Slideshow">
    <img ui="Slideshow-slide" src="{{src}}" class="Slideshow_slide slide_{{position}}">
  </ul>

  <ul>
    <li ui="Slideshow-menu-item">слайд {{index}}</li>
  </ul>
</div>

неужели так сложно понять

ДАЙ МНЕ НОРМАЛЬНЫЙ ИНТЕРФЕЙС ДЛЯ ИСПОЛЬЗОВАНИЯ КОМПОНЕНТОВ И Я ОТ ТЕБЯ ОТСТАНУ :)
Я раз 10 уже пинал тебя за это :)

iKillMaxmaxmaximus 28.06.2013 14:44

Ты видимо просто не до конца понимаешь ЧТО такое UI.js и как им пользоваться)

Цитата:

Сообщение от DjDiablo
Разница в том что я создал чёрный ящик.
с точки зрения пользователя компонента приложение выглядит так,

а у меня вот так:

<ul ui-template="Slideshow">
<img ui="Slideshow-slide" src="{{src}}" class="slide_{{position}}">
</ul>


Цитата:

Сообщение от DjDiablo
Я не хочу писать вот такую парашу когда мне нужен слайдер.

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

DjDiablo, то о чем ты говоришь называется шаблоны) ты пытался применить редактор модулей в шаблонизации по этому и предположил что это придется писать каждый раз) вот и все)

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

DjDiablo 28.06.2013 15:09

Может и не понимаем, я прошу эту демку от тебя с первой версии :)

iKillMaxmaxmaximus 28.06.2013 15:15

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



у меня же верхние кирпичики это модули и используются они так:



да да, на это место автоматически подставятся разметка из шаблонов этих модулей ))

2 (зарание описаных с зарание опсиаными шаблонами) модуля, и связаны они по всем сокетам (хотя что у менюшки что у слайдшоу по сути юзается только один сокет toggle перкключалка, если не написать название сокетов после айдишника модуля на который подписываемся то подписывание происходит на все сокеты которые у него вообще есть)

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


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

пока мы просто видим что модуль Слайд шоу подписан на все сокета модуля с айдишником myMenu =) и реагирует на них, меню о слайдшоу ничего не знает потому что сокеты могут только "слушать" но не передавать)

DjDiablo 28.06.2013 15:22

а инфа c путями к картинкам где ?

iKillMaxmaxmaximus 28.06.2013 15:26

Цитата:

Сообщение от DjDiablo
а инфа c путями к картинкам где ?

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

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



<ui src="urlLust">Shideshow{ #myMenu }</ui>
<ui src="urlLust">Menu#myMenu</ui>

но блин мне кажется данные надо как то на сервере хранить и аяксом получать, не?

у меня щас это делается так

описывается api для работы с сервером:

ui.api = function(){ 

  this.getComments = function (){};
  this.getImgURLs = function (){};

}



а внутри модуля просто юзается этот метод

ui.module["Slideshow"] = function($){

   $.api.getImgURLs(function(urls){
      $('slide').repeat(urls)
   })

};


ну типа того

DjDiablo 28.06.2013 15:33

Если сайт, то нужно помнить что аякс враг поисковика.

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

iKillMaxmaxmaximus 28.06.2013 15:34

Цитата:

Сообщение от DjDiablo
Если сайт, то нужно помнить что аякс враг поисковика.

с подключением ага, https://support.google.com/webmaster...r/174992?hl=ru

Цитата:

Сообщение от DjDiablo
Но и это не всё данные могут редактировать на клиенте, удалятся, добавлятся, и возможно сохранятся обратно на сервер.

немного не понял в чем тут проблема?, а хотя понял, спасибо за наводку)



п.с. а знаешь сделаю ка я уровень стены уже сейчас) чтобы показать как это удобно

Цитата:

Сообщение от DjDiablo
У тебя все кишки на виду

это потому что я кишки и показываю) чтобы показать какие они охуенные и аккуратные и легко описываются.
так то ^__^


Часовой пояс GMT +3, время: 16:38.