---
title: Componentes de Publicação
source: https://tdn.totvs.com/pages/viewpage.action?pageId=150635531
path: \Plataforma Documentação técnica\Recurso de Comunidades (Social)\Componentes de Publicação.md
---
# Índice
- 1 [Social Poster - Componente de Publicação](#ComponentesdePublicação-SocialPoster-ComponentedePublicação)
- 2 [Bind de elementos HTML a funções](#ComponentesdePublicação-BinddeelementosHTMLafunções)
- 2.1 [Exemplo de um bind da função salvar em um botão](#ComponentesdePublicação-Exemplodeumbinddafunçãosalvaremumbotão)
- 3 [Funções do componente](#ComponentesdePublicação-Funçõesdocomponente)
- 3.1 [loadSocialPoster(alias)](#ComponentesdePublicação-loadSocialPoster(alias))
- 3.2 [getDocumentEnabled(alias, cb)](#ComponentesdePublicação-getDocumentEnabled(alias,cb))
- 3.3 [findSocialVOByAlias(alias, cb)](#ComponentesdePublicação-findSocialVOByAlias(alias,cb))
- 3.4 [getSocialUserLogged(cb)](#ComponentesdePublicação-getSocialUserLogged(cb))
- 3.5 [isSocialMember(alias, cb)](#ComponentesdePublicação-isSocialMember(alias,cb))
- 3.6 [serviceSocialVOByAlias(alias, cb)](#ComponentesdePublicação-serviceSocialVOByAlias(alias,cb))
- 3.7 [serviceSocialUserLogged(cb)](#ComponentesdePublicação-serviceSocialUserLogged(cb))
- 3.8 [serviceSocialMember(alias, cb)](#ComponentesdePublicação-serviceSocialMember(alias,cb))
- 3.9 [serviceSocialDocumentEnabled(alias, feature, cb)](#ComponentesdePublicação-serviceSocialDocumentEnabled(alias,feature,cb))
- 3.10 [serviceCreatePost(options, cb)](#ComponentesdePublicação-serviceCreatePost(options,cb))
- 3.11 [baseAjax(url, options, cb)](#ComponentesdePublicação-baseAjax(url,options,cb))
- 3.12 [preventXSS(str)](#ComponentesdePublicação-preventXSS(str))
- 3.13 [mentions()](#ComponentesdePublicação-mentions())
- 3.14 [resetMentions()](#ComponentesdePublicação-resetMentions())
- 3.15 [shareTextFocus(el, ev)](#ComponentesdePublicação-shareTextFocus(el,ev))
- 3.16 [closePostShare(el, ev)](#ComponentesdePublicação-closePostShare(el,ev))
- 3.17 [shareTextBlur(el, ev)](#ComponentesdePublicação-shareTextBlur(el,ev))
- 3.18 [shareTextInput()](#ComponentesdePublicação-shareTextInput())
- 3.19 [shareTextKeyUp(el, ev)](#ComponentesdePublicação-shareTextKeyUp(el,ev))
- 3.20 [placeholderIE()](#ComponentesdePublicação-placeholderIE())
- 3.21 [resetCountText()](#ComponentesdePublicação-resetCountText())
- 3.22 [postFormSubmit(el, ev)](#ComponentesdePublicação-postFormSubmit(el,ev))
- 3.23 [resetPostContent(el)](#ComponentesdePublicação-resetPostContent(el))
- 3.24 [postCreate()](#ComponentesdePublicação-postCreate())
- 3.25 [selectImageOpen()](#ComponentesdePublicação-selectImageOpen())
- 3.26 [selectImageDone(event, data)](#ComponentesdePublicação-selectImageDone(event,data))
- 3.27 [thumbURL(documentId, version)](#ComponentesdePublicação-thumbURL(documentId,version))
- 3.28 [selectVideoOpen()](#ComponentesdePublicação-selectVideoOpen())
- 3.29 [selectVideoDone(event, data)](#ComponentesdePublicação-selectVideoDone(event,data))
- 3.30 [selectDocumentOpen()](#ComponentesdePublicação-selectDocumentOpen())
- 3.31 [selectDocumentDone(event, object)](#ComponentesdePublicação-selectDocumentDone(event,object))
- 3.32 [removeAttachedMedia(el, ev)](#ComponentesdePublicação-removeAttachedMedia(el,ev))
- 3.33 [attachMedia(el, ev)](#ComponentesdePublicação-attachMedia(el,ev))
- 3.34 [attachType(el)](#ComponentesdePublicação-attachType(el))
### Social Poster - Componente de Publicação
A Social Poster é um componente de publicação que possibilita a criação de um post, no qual é possível anexar uma imagem, vídeo ou um documento.
Bem como todos os componentes da camada social do TOTVS Fluig Plataforma, a Timeline utiliza o facilitador SuperWidget na camada de Javascript. Para saber mais sobre o funcionamento, consulte o manual [Super Widget](https://tdn.totvs.com/pages/viewpage.action?pageId=111181988)
### Bind de elementos HTML a funções
Para associar um evento a um elemento HTML, é preciso seguir o formato abaixo.
O componente HTML deve possuir um atributo **data-** o qual receberá o bind de funções da widget.
#### Exemplo de um bind da função salvar em um botão
**No HTML**
```
```
**No arquivo .js da widget**
```
bindings: {
local: {
'salvar-dados': ['click_salvarDados']
}
},
//implementação da função salvar
salvarDados: function(el, ev) {
//escreva a ação do botão salvar-dados aqui
}, ...
```
A função atribuída a um elemento HTML possui 2 parâmetros:
- **el:** Representa o próprio botão. No caso do exemplo:
- **ev:** representa o objeto do evento disparado
Note que não é necessário adicionar o prefixo **data-**.
O array atribuído é uma string no padrão EVENTO\_FUNÇÃO.
Várias combinações de evento x função podem ser atribuídos a um único elemento.
Os bindings feitos no objeto local são referentes a elementos HTML dentro do div da widget. E os binds feitos no objeto global são para elementos fora do div da widget, ou retirados do div da widget por outro script, como é o caso das modais do jQueryUI.
### Funções do componente
Segue abaixo o detalhamento das funções da Social Poster:
| Função | Descrição |
| --- | --- |
| **loadSocialPoster(alias)** | Esta função centraliza todos os serviços necessários para o carregamento da página, monta um objeto 'view' que é renderizado via Mustache. Mustache é uma especificação de templates que não utiliza lógica, ou seja, não possui declarações com if, for, while etc, toda sua construção é baseada em tags. |
| **getDocumentEnabled(alias, cb)** | Função para verificar se a pasta para cada tipo de recurso está habilitada. Realiza uma chamada REST e recupera os dados da comunidade que são passados para uma "callback". Os tipos verificados são: DOCUMENT, GALLERY\_PHOTO e GALLERY\_VIDEO. |
| **findSocialVOByAlias(alias, cb)** | Retorna um objeto 'social' de acordo com o alias. Realiza uma chamada REST e recupera os dados "social" que são passados para uma "callback". Pode ser um usuário ou uma comunidade. |
| **getSocialUserLogged(cb)** | Retorna o usuário logado. Realiza uma chamada REST e recupera os dados do usuário logado que são passados para uma "callback". |
| **isSocialMember(alias, cb)** | Retorna um objeto com informação se o usuário é membro da comunidade. Realiza uma chamada REST e recupera informação se o usuárioé membro da comunidade e é passado para uma "callback". |
| **isSocialDocumentEnabled(alias, feature, cb)** | Retorna objeto com informação se um recurso está habilitado. Realiza uma chamada REST e recupera os dados do recurso de acordo com o 'feature' e é passado para uma "callback". Os tipos de 'feature' são: DOCUMENT, GALLERY\_PHOTO e GALLERY\_VIDEO. |
| serviceSocialVOByAlias(alias, cb) | Realiza uma chamada REST (API Publica) e recupera os dados sociais. |
| serviceSocialUserLogged(cb) | Realiza uma chamada REST (API Publica) e recupera os dados do usuário logado. |
| serviceSocialMember(alias, cb) | Realiza uma chamada REST (API Publica) e recupera os dados que retornam informação se um usuário é membro de uma comunidade. |
| serviceSocialDocumentEnabled(alias, feature, cb) | Realiza uma chamada REST (API Publica) e recupera os dados de pastas de uma comunidade. |
| serviceCreatePost(options, cb) | Realiza uma chamada REST (API Publica) que envia dados para criação de um post. |
| baseAjax(url, options, cb) | Facilitador de uso do ajax |
| preventXSS(str) | Função que utiliza uma expressão regular que sobrescreve sinais de 'maior' e 'menor'. |
| mentions() | Função que aplica plugin 'mentionsInput' utilizado para 'menção' de usuários ou comunidades. |
| resetMentions() | Função que 'limpa' plugin 'mentionsInput'. |
| shareTextFocus(el, ev) | Ação do elemento data-post-share-text. Realiza tratamento quando área de post recebe foco. |
| closePostShare(el, ev) | Ação do elemento data-close-post-share Realiza tratamento ao fechar área de post. |
| shareTextBlur(el, ev) | Ação do elemento data-post-share-text. Realiza tratamento quando área de post recebe foco. |
| shareTextInput() | Ação do elemento data-post-share-text. Realiza tratamento quando área de post recebe foco. |
| shareTextKeyUp(el, ev) | Ação do elemento data-post-share-text. Realiza tratamento quando área de post recebe foco. |
| placeholderIE() | Realiza tratamento para criação de 'placeholder' para o navegador internet explorer. |
| resetCountText() | Realiza verificação da quantidade de caracteres digitadas no campo de post. |
| postFormSubmit(el, ev) | Ação do elemento data-post-share-form. Realiza a recuperação dos dados do post para criá-lo. |
| resetPostContent(el) | Ação que faz limpeza de todos os dados informados para criação do post. |
| postCreate() | Associa funções a eventos relacionados a recursos que podem ser incluídos no post. (Documentos, fotos e vídeos) |
| selectImageOpen() | Função que permite selecionar uma imagem de uma galeria. |
| selectImageDone(event, data) | Ação disparada pelo evento "selectImageEvent", que notifica a socialposter para adicionar imagem selecionada no campo de post. |
| thumbURL(documentId, version) | Função que faz a montagem do endereço de requisição de um documento de acordo com seu 'Id' e 'versão'. |
| selectVideoOpen() | Função que permite selecionar um vídeo de uma galeria. |
| selectVideoDone(event, data) | Ação disparada pelo evento "selectVideoEvent", que notifica a socialposter para adicionar vídeo selecionado no campo de post. |
| selectDocumentOpen() | Função que permite selecionar um documento da comunidade, do repositório e permite ainda que um documento seja enviado. |
| selectDocumentDone(event, object) | Ação disparada pelo evento "selectDocumentEvent", que notifica a socialposter para adicionar documento selecionado no campo de post. |
| removeAttachedMedia(el, ev) | Ação que faz tratamento para remoção de um recurso que foi adicionado. |
| attachMedia(el, ev) | Ação do elemento data-attach-media, responsável por identificar o tipo de anexo. |
| attachType(el) | Função que verifica tipo de anexo e delega para função específica para o tratamento necessário. |