Class: MergeDialog

@nginstack/web-framework/lib/dialogs/MergeDialog~ MergeDialog


new MergeDialog( [process])

Cria um diálogo que exibe dois conteúdos de texto lado a lado, destacando as suas diferenças, e que permite mesclá-los.

Parameters:
Name Type Argument Description
process module:@nginstack/web-framework/lib/process/Process~Process <optional>

Processo que está abrindo o diálogo. Caso não seja informado, será considerado o processo em execução.

Example
const MergeDialog = require('@nginstack/web-framework/lib/dialogs/MergeDialog.js');
const dialog = new MergeDialog();
const options = { mediaType: 'text/javascript' };
dialog.merge(sourceContent, targetContent, options).then(function (merged) {
  if (merged !== null) {
    // grava o conteúdo mesclado
  }
});

Methods


compare(source, target [, options])

Exibe as diferenças entre dois conteúdos de texto, lado a lado, sem permitir a sua edição. Caso o diálogo já esteja aberto, ele será substituído e o promise anterior será resolvido como se o usuário o tivesse fechado.

Parameters:
Name Type Argument Description
source string

Conteúdo de origem, exibido à esquerda.

target string

Conteúdo de destino, exibido à direita.

options module:@nginstack/web-framework/lib/dialogs/MergeDialog~MergeDialogOptions <optional>

Opções do diálogo.

See:
Returns:

Promise para null, resolvido quando o usuário fechar o diálogo.

Type
module:@nginstack/web-framework/lib/promise/Promise~Promise
Example
const MergeDialog = require('@nginstack/web-framework/lib/dialogs/MergeDialog.js');
const dialog = new MergeDialog();
dialog.compare(productionContent, developmentContent, {
  title: 'Diferenças de "Pedidos.js"',
  sourceLabel: 'Produção',
  targetLabel: 'Desenvolvimento',
  mediaType: 'text/javascript'
}).then(function () {
  process.alert('Comparação concluída.');
});

merge(source, target [, options])

Exibe um diálogo para mesclar dois conteúdos de texto. A origem, à esquerda, é somente para leitura. O destino, à direita, pode ser editado livremente e receber as diferenças copiadas da origem. Caso o diálogo já esteja aberto, ele será substituído e o promise anterior será resolvido como cancelado.

Parameters:
Name Type Argument Description
source string

Conteúdo de origem, exibido à esquerda.

target string

Conteúdo de destino, exibido à direita.

options module:@nginstack/web-framework/lib/dialogs/MergeDialog~MergeDialogOptions <optional>

Opções do diálogo.

See:
Returns:

Promise para o conteúdo final do destino, caso o usuário confirme o merge, ou para null, caso ele cancele.

Type
module:@nginstack/web-framework/lib/promise/Promise~Promise
Example
const MergeDialog = require('@nginstack/web-framework/lib/dialogs/MergeDialog.js');
const dialog = new MergeDialog();
dialog.merge(sourceContent, targetContent, {
  title: 'Merge de "Pedidos.js"',
  sourceLabel: 'Origem (BASE_A)',
  targetLabel: 'Destino (BASE_B)',
  mediaType: 'text/javascript'
}).then(function (merged) {
  if (merged !== null) {
    // grava o conteúdo mesclado
  }
});