{{logoUrl}}プレースホルダーを使用して、メールマッチプレビューを送信
serializeFullEmailHtml が保存されました メニュー ローカルパスを解決する代わりにbodyHtmlのプレースホルダー。 メールテンプレートサービス 既に送信時に絶対ロゴ URL を注入します( org ドメインから)。 ザ・オブ・ザ・ クライアント・サイド・プレビューは、表示用のローカル・テーマ・...
プレビューとエディタを単一のコヒーレントシステムに統一
- コンテンツ <td> セルをターゲティングする DOMParser によるシステムテンプレートコンテンツを抽出します。 メールフレームがブロックを再シリアライズしたときに重複を防ぐ - バックエンドプレビューのラウンドトリップをクライアント側から生成されたプレビューで置き換える SerializeFullEmail...
設定、ホーム、および計算機全体でorg+memberの権利を強化する
- Add 11新しい権利(MANAGE CRM SETTINGS、VIEW TASKS、************************をRorightType.tsに追加 - ServiceType.ts、AppType.ts、およびOrganization.ts (isCalculator) に CALCULAT...
Fix センタースクロールとシステムテンプレートブロックロード
- Eメールフレームからの高さ:100% を削除して、コンテンツを自然に成長させ、作品をスクロールします - 完全なHTMLシステムテンプレートから編集可能なブロックに<body>コンテンツを抽出
ブロックエディタにロードするときにcanonical HTMLから内部コンテンツを抽出
BodyBlocks が null と bodyHtml が <!DOCTYPE から始まるとき、 メインコンテンツ <td> を初期の HTML ブロックとして表示するため、ユーザーは既存のものを見る 空のエディタの代わりにコンテンツ.
すべての nav アイテムに対するメンバーの権利を強化する
Nav の各項目は org の機能フラグとメンバーの右の両方が必要です。 7件の新規アクセス権が追加されました。ACCESS COMMERCE、VIEW CALENDAR、ACCESS CHAT、 Access MAIL、ACCESS VOIP、VIEW SUPPORT、VIEW ANALYTICS(IDs 112-1...
ブロックデザイナーのフルドキュメントボディHtmlのダブルラップを防止
BodyBlocks が null で、bodyHtml が完全な <!DOCTYPE html> ドキュメントの場合 (例:canonical シードテンプレート)、単一のブロックとしてインポート serializeFullEmailHtml を 2 番目の <!DOCTYPE html> シェルにラップします。 電...
テンプレート保存の外側のフレームでフルメールHTMLをシリアル化
- serializeFullEmailHtml はブランドの外のフレームの内部のブロックを包みます (ヘッダーロゴ、タイトル/サブタイトル、コンテンツエリア、フッターロゴ+ org名) 絶対 URL を使用して、メール クライアントはイメージを取得できます - 外枠の設定(ロゴオプション、タイトル、サブタイトル)は保...
コンパクトなエディタヘッダー — 大規模なタイトル/タブを削除し、アクションを nav 行に移動
スティッキーヘッダカードを削除します(タイトル、サブタイトル、保存/キャンセル/プレビュー) ボタン、編集/プレビュータブバー、EmailTemplateEditからReclaim〜200px エディタ上の垂直空間。 アクションボタンが右揃え 既存のback-button/breadcrumb nav の行で emai...
電話 + セキュリティに関する質問(SP3)のアカウント設定ページを追加
API配線で****************を追加 セキュリティサービス /api/account/* 全3拠点で nav を同期.
ブラウザのバックエンド・レンダリング・モーダル(SP2)によるルートプレビュー
EmailTemplateBrowser は、プレビューモジュールを直接所有しているので、 管理者は行レベルのプレビューリクエストを傍受する必要はありません。 編集モードにリダイレクトします.
実際の API への HTTP 電子メールTemplateEdit
TemplateApi.get から水素化し、templateApi.update 経由で保存します。 カテゴリー dropdown は、インラインのカテゴリ作成の手頃な価格の API 主導です。 変数 picker は変数Contracts.ts (REQUIRED の宣言契約) から読み込みます。 テンプレートキー...
Wire EmailTemplateBrowser を API に + System Defaults タブを追加する
TemplateApi.list() 呼び出しでモックデータの~140行を置き換えます。 コンテンツ 5番目のタブ「システムデフォルト」は、トップレベルの管理とレンダリングのみ表示されます response.systemTemplates から カテゴリApi.list() から入力されたカテゴリフィルタ。 すべての行...
メールを追加するTemplatePreview modal
行アクションプレビューで開きます。 templateApi.preview(); でバックエンドレンダリング スタイル分離のためのサンドボックスされたiframeに表示された結果。 マッチする 使用を送る正確なコードパスなので、プレビューは受信者の受信者です。 SP2の一部.
未使用のメールGeneralManager.tsx(デッドコードの~560行)を削除
部品はどこにでも輸入されませんでした。 トグル(バウンスハンドリング) 購読解除, 配信追跡, 電子メールからのデフォルト) バックエンドがなかったし、 純粋に化粧品の setTimeout スタブでした。 各機能が発送されます 対応するバックエンドが存在すると、独自の仕様を介して。 SP2の一部.
TemplateApi +カテゴリApi +変数Contracts クライアントモジュールを追加
SP1の/api/email/templates/*および************************を包みます 型付きTypeScriptヘルパーでエンドポイント。 変数ContractsはSP1のミラーを映します TemplateKeys Javadoc なので、エディタの変数ピッカーが宣言されている REQU...
OTK-authenticated iframeでnavtopに分析アイコンを追加
チームメンバーにトップレベルのオーガニゼーションをゲートしたNavTopにBarChartアイコンを追加 (親なし) クリックすると、OTK を生成する /analytics に移動し、 フルページのiframeでanalytics.{domain}を読み込みます。 生成-otk のルート より長い60s TTLで目的...
DNSセットアップUIでTXTドメイン所有権レコードを表示する
- DomainData/DnsStatus: 認証トークン、所有権認証、タイプフィールドを追加 - AliasStatusTable:コピー ボタンが付いているCNAMEのテーブルの上のTxtOwnershipCardを、示して下さい indigoの保留/緑の確認されたスタイリング;CNAMEの証明された計算からのT...