Componente chat adminlte - barra de rolagem não funciona Olá pessoal. Eu criei um componente de chat igual ao do adminlte.. o problema é que a barra de rolagem do chat, caso haja várias mensagens, não funciona. Alguma ideia de como fazer ela funcionar? ela é o $div8 do código abaixo: **Quando o componente estiver ok eu posto ele nas contribs. ...
FT
Componente chat adminlte - barra de rolagem não funciona  
Olá pessoal. Eu criei um componente de chat igual ao do adminlte.. o problema é que a barra de rolagem do chat, caso haja várias mensagens, não funciona. Alguma ideia de como fazer ela funcionar? ela é o $div8 do código abaixo:

**Quando o componente estiver ok eu posto ele nas contribs.



 
  1. <?php
  2. namespace academico\Widget;
  3. use Adianti\Widget\Base\TElement;
  4. class TChat extends TElement {
  5. public function __construct()
  6. {
  7. parent::__construct('div');
  8. $div1 = new TElement('div');
  9. $div1->{'class'} = 'box box-primary';
  10. $div2 = new TElement('div');
  11. $div2->{'class'} = 'box-header ui-sortable-handle';
  12. $div2->{'style'} = 'cursor: move;';
  13. $i = new TElement('i');
  14. $i->{'class'} = 'fa fa-comments-o';
  15. $h3 = new TElement('h3');
  16. $h3->{'class'} = 'box-title';
  17. $h3->add('Chat');
  18. $div3 = new TElement('div');
  19. $div3->{'class'} = 'box-tools pull-right';
  20. $div3->{'data-toggle'} = 'tooltip';
  21. $div3->{'data-original-title'} = 'Status';
  22. $div4 = new TElement('div');
  23. $div4->{'class'} = 'btn-group';
  24. $div4->{'data-toggle'} = 'btn-toggle';
  25. $button = new TElement('button');
  26. $button->{'type'} = 'button';
  27. $button->{'class'} = 'btn btn-default btn-sm active';
  28. $i1 = new TElement('i');
  29. $i1->{'class'} = 'fa fa-square text-green';
  30. $button->add($i1);
  31. $button1 = new TElement('button');
  32. $button1->{'type'} = 'button';
  33. $button1->{'class'} = 'btn btn-default btn-sm';
  34. $i2 = new TElement('i');
  35. $i2->{'class'} = 'fa fa-square text-red';
  36. $button1->add($i2);
  37. $div4->add($button);
  38. $div4->add($button1);
  39. $div3->add($div4);
  40. $div2->add($i);
  41. $div2->add($div3);
  42. $div2->add($h3);
  43. $div1->add($div2);
  44. $div5 = new TElement('div');
  45. $div5->{'class'} = 'slimScrollDiv';
  46. $div5->{'style'} = 'overflow: hidden; width: auto; height: 250px;';
  47. $div6 = new TElement('div');
  48. $div6->{'class'} = 'box-body chat';
  49. $div6->{'id'} = 'chat-box';
  50. $div6->{'style'} = 'overflow: hidden; width: auto; height: 250px;';
  51. $div5->add($div6);
  52. //////////////////// MENSATEM ITEM /////////////////
  53. $div7 = new TElement('div');
  54. $div7->{'class'} = 'item';
  55. $img = new TElement('img');
  56. $img->{'src'} = 'http://localhost/academico/app/images/profile/profile-icon.png';
  57. $img->{'alt'} = 'Imagem do perfil';
  58. $img->{'class'} = 'online';
  59. $p = new TElement('p');
  60. $p->{'class'} = 'message';
  61. $a = new TElement('a');
  62. $a->{'href'} = '#';
  63. $a->{'class'} = 'name';
  64. $small = new TElement('small');
  65. $small->{'class'} = 'text-muted pull-right';
  66. $i3 = new TElement('i');
  67. $i3->{'class'} = 'fa fa-clock-o';
  68. $small->add($i3);
  69. $small->add('2:15');
  70. $a->add($small);
  71. $a->add('Nome do user');
  72. $p->add($a);
  73. $p->add('Texto de uma mensagem exemplo Texto de uma mensagem exemplo');
  74. $div7->add($img);
  75. $div7->add($p);
  76. /////////////////////////////////////////////////////
  77. $div6->add($div7); //PREENCHE COM VÁRIAS MENSAGENS DE EXEMPLO
  78. $div6->add($div7);
  79. $div6->add($div7);
  80. $div6->add($div7);
  81. $div6->add($div7);
  82. $div6->add($div7);
  83. $div6->add($div7);
  84. $div6->add($div7);
  85. $div6->add($div7);
  86. $div8 = new TElement('div');
  87. $div8->{'class'} = 'slimScrollBar';
  88. $div8->{'style'} = 'background: rgb(0, 0, 0); width: 7px; position: absolute; top: 40px; opacity: 0.4; display: block; border-radius: 7px; z-index: 99; right: 1px; height: 184.911px;';
  89. $div9 = new TElement('div');
  90. $div9->{'class'} = 'slimScrollRail';
  91. $div9->{'style'} = 'width: 7px; height: 100%; position: absolute; top: 0px; display: none; border-radius: 7px; background: rgb(51, 51, 51); opacity: 0.2; z-index: 90; right: 1px;';
  92. $div10 = new TElement('div');
  93. $div10->{'class'} = 'box-footer';
  94. $div11 = new TElement('div');
  95. $div11->{'class'} = 'input-group';
  96. $input = new TElement('input');
  97. $input->{'class'} = 'form-control';
  98. $div12 = new TElement('div');
  99. $div12->{'class'} = 'input-group-btn';
  100. $button2 = new TElement('button');
  101. $button2->{'class'} = 'btn btn-primary btn-flat';
  102. $i3 = new TElement('i');
  103. $i3->{'class'} = 'fa fa-plus';
  104. $button2->add($i3);
  105. $div12->add($button2);
  106. $div11->add($input);
  107. $div11->add($div12);
  108. $div10->add($div11);
  109. $div5->add($div8);
  110. $div5->add($div9);
  111. $div1->add($div5);
  112. // $div1->add($div10);
  113. parent::add($div1);
  114. }
  115. }
  116. ?>



E aqui é como eu fiz a página:

 
  1. <?php
  2. use academico\Widget\TChat;
  3. class CommonPage extends TPage
  4. {
  5. public function __construct()
  6. {
  7. parent::__construct();
  8. $chat = new TChat;
  9. $campo = new TEntry('campo');
  10. $campo->setSize(400);
  11. $div10 = new TElement('div');
  12. $div10->{'class'} = 'box-footer';
  13. $div11 = new TElement('div');
  14. $div11->{'class'} = 'input-group';
  15. $div11->add($campo);
  16. $div10->add($div11);
  17. parent::add($chat);
  18. parent::add($div10);
  19. }
  20. }

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (2)


FT

Já descobri que este rocha.la/jQuery-slimScroll precisa ser usado. Inclui os arquivos e também já inclui no libraries.html mas ainda falta saber como usá-lo na hora de criar o componente.
TR

Ola, conseguiu terminar seu componente de chat?
Poderia disponibilizá-lo?