McFile Widget 2.0

Uma maneira fácil de integrar o McFile é via Widget, uma ferramenta embutida que fornece funcionalidades de cadastro, busca e recuperação de documentos na própria interface do McFile. O Widget é processado dinamicamente em JavaScript e está abrigado em nossos servidores, o que nos permite enviar atualizações para você sem trabalho adicional de sua parte.

Demo do McFile Widget

Veja o McFile Widget em ação.

Colocando o McFile Widget na sua aplicação

Para começar, adicione o seguinte código na sua página.

<script src="https://cdnqa.mcfile.com/widget/McFileWidgetInline.js"></script>
	

Iniciando, configurando e usando:

var widget = McFileWidgetInline.configure({
	url: '...',
	domain: '...',
	createFile: function (createFileResponse) {},
	createAlert: function (createAlertResponse) {},
	error: function(code, message) {},
});
widget.open({
	width: '...',
	height: '...',
	containerId: '...',
	createFileRequest: {}, 
	listFilesRequest: {}, 
});

Métodos do Widget

O McFile Widget pode ser controlado por meio de programação através dos métodos descritos nesta seção

Método         
Descrição
configure(options)
Configura o Widget com as opções fornecidas.
options - Objeto contendo as opções de configuração - Parâmetro obrigatório
  • domain Subdomínio da conta do McFile. Campo obrigatório se url não fornecida.
  • url URL de acesso ao McFile. Campo obrigatório se domínio não fornecido.

createFile - Evento (callback) de criação de arquivo

createAlert - Evento (callback) de criação de alerta

error - Evento (callback) de erro

open(options) Abre o Widget considerando as opções passadas.
options - Objeto contendo as opções de abertura:
  • width: Largura do Widget. Default: '100%'
  • height: Altura do Widget. Default: '100%'
  • containerId: Id do elemento onde o widget será criado.  Default: 'mcfileWidget',
  • createFileRequest: Objeto com os parâmetros para criação de arquivo:
    • recordId - Identificador do registro ao qual o arquivo será inserido.
    • restrictedArea
      • code
      • name
    • relatedRecords
    • metadata
      • documentId
      • documentType
      • description
      • documentDate
      • documentLocation
      • companyId
      • companyName
      • companyRegistrationNumber
      • matterId
      • matterType
      • matterTitle
      • matterLocation
      • matterNote
      • matterProcessNumber
      • matterProcessParty
    • options
      • removeOlderVersions
      • createShareLink
      • doNotCreateStructure
      • createNewRecord
      • ocr
  • listFilesRequest: Objeto com os parâmetros para listagem de arquivos.
    • recordId
    • hierarchyLevel - Nivel de hierarquia do cadastro. Possíveis valores: company, matter, document

Eventos do Widget

Eventos de callback

Evento         
Descrição
createFile(createFileResponse)
Invocado quando há inserção de arquivos.
createFileResponse - Objeto com a resposta representando o arquivo salvo:
  • recordId - Identificador do registro ao qual o arquivo foi inserido.
  • createdBy
    • userId
    • name
  • createdDate
  • fileId
  • links
    • viewer
    • download
    • thumb
    • self
  • modifiedBy
    • userId
    • name
  • modifiedDate
  • name
  • size
  • status
  • version
error(code, message) Invocado quando há erro de integração
code - Identificador do erro.
message - Detalhes do erro

Widget - Exemplo de listagem e criação de arquivo

Cenário: Listar e criar arquivos no assunto  Lorem ipsum da empresa Xpto Inc. 

<script>
    var recordId;
    var widgetInline = McFileWidgetInline.configure({
      domain: 'xpto',
      createFile: function (createFileResponse) {
        alert("Criou arquivo");
        console.log(createFileResponse);
	recordId = createFileResponse.recordId;
      }
    });
    widgetInline.open({
      containerId: 'mcfile-container',
      createFileRequest: {
        recordId: recordId || 0, 
        metadata : {
        	documentType: "Acordo",
        	description: "Acordo de teste",
        	companyName: "Xpto Inc.",
        	matterType: "Contencioso",
        	matterTitle: "Lorem ipsum"
        },
        options : {
      		removeOlderVersions: false,
        	createShareLink: false,
        	doNotCreateStructure: true,
        	createNewRecord: true,
        	ocr: false
        }
      },
      listFilesRequest: {
        "recordId": 119512686, 
        "hierarchyLevel": "matter",
      }
    });
  </script>

Observação: Sempre fornecer, quando possível, o recordId nas chamadas de request.