From 0325d00f8239d1b4345629b2119da9c8356641ad Mon Sep 17 00:00:00 2001 From: Tim Otten Date: Wed, 28 Jul 2021 20:53:17 -0700 Subject: [PATCH] msgtplui - Generate real previews --- ext/msgtplui/ang/msgtplui/Preview.html | 6 +++--- ext/msgtplui/ang/msgtplui/Preview.js | 27 ++++++++++++++++++-------- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/ext/msgtplui/ang/msgtplui/Preview.html b/ext/msgtplui/ang/msgtplui/Preview.html index fe4a5b4396..a3ddd17782 100644 --- a/ext/msgtplui/ang/msgtplui/Preview.html +++ b/ext/msgtplui/ang/msgtplui/Preview.html @@ -62,16 +62,16 @@
-

{{$ctrl.preview.msg_subject}}

+

{{$ctrl.preview.subject}}

-
{{$ctrl.preview.msg_text}}
+
{{$ctrl.preview.text}}
- +
diff --git a/ext/msgtplui/ang/msgtplui/Preview.js b/ext/msgtplui/ang/msgtplui/Preview.js index 895de19696..afbdd5c0a8 100644 --- a/ext/msgtplui/ang/msgtplui/Preview.js +++ b/ext/msgtplui/ang/msgtplui/Preview.js @@ -1,6 +1,6 @@ (function(angular, $, _) { - angular.module('msgtplui').controller('MsgtpluiPreviewCtrl', function($scope, crmUiHelp, $timeout, $q) { + angular.module('msgtplui').controller('MsgtpluiPreviewCtrl', function($scope, crmUiHelp, crmStatus, crmApi4, $timeout, $q) { var ts = $scope.ts = CRM.ts('msgtplui'); var hs = $scope.hs = crmUiHelp({file: 'CRM/Msgtplui/msgtplui'}); // See: templates/CRM/Msgtplui/msgtplui.hlp @@ -19,14 +19,25 @@ if (lastId === id) return; lastId = id; + // $ctrl.preview = model.revisions[$ctrl.revisionId].rec; $ctrl.preview = {loading: true}; - var dfr = $q.defer(); - $timeout(function(){ - $ctrl.preview = model.revisions[$ctrl.revisionId].rec; - dfr.resolve($ctrl.preview); - }, 333); - return dfr.promise; - } + var getting = crmApi4('WorkflowMessageExample', 'get', { + where: [["name", "=", model.examples[$ctrl.exampleId].name]], + select: ['workflow', 'data'], + chain: { + "render": ["WorkflowMessage", "render", { + "workflow": "$workflow", + "values": "$data.modelProps", + "messageTemplate": model.revisions[$ctrl.revisionId].rec + }] + } + }).then(function(response) { + $ctrl.preview = response[0].render[0]; + }, function(failure) { + $ctrl.preview = {}; + }); + return crmStatus({start: ts('Rendering...'), success: ''}, getting); + }; $scope.$watch('$ctrl.revisionId', update); $scope.$watch('$ctrl.formatId', update); -- 2.25.1