barsa-sap-ui 2.1.1 → 2.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/barsa-sap-ui.mjs +419 -367
- package/fesm2022/barsa-sap-ui.mjs.map +1 -1
- package/lib/barsa-bar-download-file/barsa-bar-download-file.component.d.ts +10 -0
- package/lib/barsa-sap-ui.module.d.ts +237 -236
- package/lib/file-viewer-popover/file-viewer-popover.component.d.ts +1 -1
- package/lib/ui-map/ui-map.component.d.ts +2 -0
- package/package.json +3 -5
- package/public-api.d.ts +1 -0
- package/esm2022/barsa-sap-ui.mjs +0 -5
- package/esm2022/lib/apply-conditional-formmatings.directive.mjs +0 -89
- package/esm2022/lib/avatar-size.pipe.mjs +0 -40
- package/esm2022/lib/barsa-answer-card/barsa-answer-card.component.mjs +0 -41
- package/esm2022/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +0 -145
- package/esm2022/lib/barsa-bar-panel/barsa-bar-panel.component.mjs +0 -23
- package/esm2022/lib/barsa-base-panel/barsa-base-layout-panel.component.mjs +0 -29
- package/esm2022/lib/barsa-breadcrumbs/barsa-breadcrumbs.component.mjs +0 -24
- package/esm2022/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.mjs +0 -24
- package/esm2022/lib/barsa-card-row-payam/barsa-card-row-payam.component.mjs +0 -31
- package/esm2022/lib/barsa-cartable-form/barsa-cartable-form.component.mjs +0 -41
- package/esm2022/lib/barsa-cartable-template/barsa-cartable-template.component.mjs +0 -24
- package/esm2022/lib/barsa-chat/barsa-chat.component.mjs +0 -242
- package/esm2022/lib/barsa-chat/chat.model.mjs +0 -8
- package/esm2022/lib/barsa-chat-content/barsa-chat-content.component.mjs +0 -13
- package/esm2022/lib/barsa-chat-content-toolbar/barsa-chat-content-toolbar.component.mjs +0 -22
- package/esm2022/lib/barsa-chat-list/barsa-chat-list.component.mjs +0 -66
- package/esm2022/lib/barsa-chat-message/barsa-chat-message.component.mjs +0 -78
- package/esm2022/lib/barsa-chat-thread/barsa-chat-thread.component.mjs +0 -22
- package/esm2022/lib/barsa-chat-threads-list/barsa-chat-threads-list.component.mjs +0 -13
- package/esm2022/lib/barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component.mjs +0 -15
- package/esm2022/lib/barsa-chip/barsa-chip.component.mjs +0 -72
- package/esm2022/lib/barsa-column-indicator/barsa-column-indicator.component.mjs +0 -23
- package/esm2022/lib/barsa-column-rownumber/barsa-column-rownumber.component.mjs +0 -14
- package/esm2022/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.mjs +0 -14
- package/esm2022/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.mjs +0 -26
- package/esm2022/lib/barsa-date-time-picker/barsa-date-time-picker.component.mjs +0 -71
- package/esm2022/lib/barsa-dynamic-field/barsa-dynamic-field.component.mjs +0 -40
- package/esm2022/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.mjs +0 -61
- package/esm2022/lib/barsa-field-key-value/barsa-field-key-value.component.mjs +0 -45
- package/esm2022/lib/barsa-form-side-content/barsa-form-side-content.component.mjs +0 -58
- package/esm2022/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.mjs +0 -27
- package/esm2022/lib/barsa-group-cartable/barsa-cartable-group.component.mjs +0 -94
- package/esm2022/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.mjs +0 -22
- package/esm2022/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.mjs +0 -37
- package/esm2022/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +0 -41
- package/esm2022/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.mjs +0 -29
- package/esm2022/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.mjs +0 -23
- package/esm2022/lib/barsa-modal/barsa-modal.component.mjs +0 -43
- package/esm2022/lib/barsa-monaco-editor/barsa-monaco-editor.component.mjs +0 -83
- package/esm2022/lib/barsa-network-offline/barsa-network-offline.component.mjs +0 -57
- package/esm2022/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.mjs +0 -159
- package/esm2022/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.mjs +0 -17
- package/esm2022/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.mjs +0 -30
- package/esm2022/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.mjs +0 -14
- package/esm2022/lib/barsa-question-answer-form/barsa-question-answer-form.component.mjs +0 -34
- package/esm2022/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.mjs +0 -46
- package/esm2022/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.mjs +0 -79
- package/esm2022/lib/barsa-question-post/barsa-question-post.component.mjs +0 -30
- package/esm2022/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.mjs +0 -31
- package/esm2022/lib/barsa-report-checkbox-switch-button/barsa-report-checkbox-switch-button.component.mjs +0 -28
- package/esm2022/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.mjs +0 -102
- package/esm2022/lib/barsa-row-inline-actionlist/barsa-row-inline-actionlist.component.mjs +0 -26
- package/esm2022/lib/barsa-sap-ui-routing.module.mjs +0 -18
- package/esm2022/lib/barsa-sap-ui.module.mjs +0 -374
- package/esm2022/lib/barsa-search-form/barsa-search-form.component.mjs +0 -29
- package/esm2022/lib/barsa-simple-form/barsa-simple-form.component.mjs +0 -170
- package/esm2022/lib/barsa-tab-route-manager/barsa-tab-route-manager.component.mjs +0 -18
- package/esm2022/lib/barsa-table-column/barsa-table-column.component.mjs +0 -29
- package/esm2022/lib/barsa-table-header/barsa-table-header.component.mjs +0 -222
- package/esm2022/lib/barsa-table-row/barsa-table-row.component.mjs +0 -87
- package/esm2022/lib/barsa-tag-categories/barsa-tag-categories.component.mjs +0 -60
- package/esm2022/lib/barsa-tag-chip/barsa-tag-chip.component.mjs +0 -26
- package/esm2022/lib/barsa-tags-category-row/barsa-tags-category-row.component.mjs +0 -23
- package/esm2022/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.mjs +0 -37
- package/esm2022/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +0 -418
- package/esm2022/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.mjs +0 -36
- package/esm2022/lib/barsa-tree-item/barsa-tree-item.component.mjs +0 -153
- package/esm2022/lib/barsa-tree-item/node-has-one-depth-level.pipe.mjs +0 -19
- package/esm2022/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +0 -216
- package/esm2022/lib/blob-viewer/blob-viewer.component.mjs +0 -74
- package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +0 -50
- package/esm2022/lib/captcha-field/captcha-field.component.mjs +0 -28
- package/esm2022/lib/card-item/card-item.component.mjs +0 -64
- package/esm2022/lib/card-view-content/card-view-content.component.mjs +0 -46
- package/esm2022/lib/col-renderer.directive.mjs +0 -46
- package/esm2022/lib/column-matrix-renderer/column-matrix-renderer.component.mjs +0 -56
- package/esm2022/lib/column-matrix-renderer/matrix-value.pipe.mjs +0 -60
- package/esm2022/lib/column-renderer/column-renderer.component.mjs +0 -88
- package/esm2022/lib/constants.mjs +0 -425
- package/esm2022/lib/custom-date-time/custom-date-time.component.mjs +0 -41
- package/esm2022/lib/device-info-field-base.mjs +0 -23
- package/esm2022/lib/dialog-handler.directive.mjs +0 -28
- package/esm2022/lib/download-files.directive.mjs +0 -33
- package/esm2022/lib/dynamic-page-size.pipe.mjs +0 -26
- package/esm2022/lib/file-in-dialog/file-in-dialog.component.mjs +0 -44
- package/esm2022/lib/file-viewer/file-viewer.component.mjs +0 -47
- package/esm2022/lib/file-viewer-content/file-viewer-content.component.mjs +0 -71
- package/esm2022/lib/file-viewer-popover/file-viewer-popover.component.mjs +0 -39
- package/esm2022/lib/form-dialog/form-dialog.component.mjs +0 -171
- package/esm2022/lib/form-dialog-less/form-dialog-less.component.mjs +0 -50
- package/esm2022/lib/form-toolbar/form-toolbar.component.mjs +0 -62
- package/esm2022/lib/form-toolbar-button/form-toolbar-button.component.mjs +0 -45
- package/esm2022/lib/form-wizard/form-wizard.component.mjs +0 -21
- package/esm2022/lib/fullscreen-dialog.directive.mjs +0 -59
- package/esm2022/lib/fullscreen-files.directive.mjs +0 -42
- package/esm2022/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +0 -213
- package/esm2022/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.mjs +0 -215
- package/esm2022/lib/global-search/global-search.component.mjs +0 -27
- package/esm2022/lib/global-search-module/global-search-module.component.mjs +0 -29
- package/esm2022/lib/global-search-panel/global-search-panel.component.mjs +0 -25
- package/esm2022/lib/header-avatar/header-avatar.component.mjs +0 -18
- package/esm2022/lib/htree-create-new/htree-create-new.component.mjs +0 -48
- package/esm2022/lib/hyperlink/hyperlink.component.mjs +0 -23
- package/esm2022/lib/index.mjs +0 -543
- package/esm2022/lib/inline-save-and-cancel/inline-save-and-cancel.component.mjs +0 -32
- package/esm2022/lib/layout-actions/layout-actions.component.mjs +0 -70
- package/esm2022/lib/layout-control/layout-control.component.mjs +0 -302
- package/esm2022/lib/layout-wizard/layout-wizard.component.mjs +0 -183
- package/esm2022/lib/list-item/list-item.component.mjs +0 -34
- package/esm2022/lib/ly-empty-space/ly-empty-space.component.mjs +0 -42
- package/esm2022/lib/ly-horizontal-layout/ly-horizontal-layout.component.mjs +0 -82
- package/esm2022/lib/ly-label/ly-label.component.mjs +0 -37
- package/esm2022/lib/ly-layout-container/ly-layout-container.component.mjs +0 -83
- package/esm2022/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.mjs +0 -17
- package/esm2022/lib/ly-layout-field-label/ly-layout-field-label.component.mjs +0 -24
- package/esm2022/lib/ly-layout-panel/ly-layout-panel.component.mjs +0 -83
- package/esm2022/lib/ly-line/ly-line.component.mjs +0 -56
- package/esm2022/lib/ly-simple-label/ly-simple-label.component.mjs +0 -22
- package/esm2022/lib/ly-tab-container/ly-tab-container.component.mjs +0 -45
- package/esm2022/lib/ly-tab-page/ly-tab-page.component.mjs +0 -44
- package/esm2022/lib/ly-vertical-layout/ly-vertical-layout.component.mjs +0 -51
- package/esm2022/lib/manage-filters-report/manage-filters-report.component.mjs +0 -43
- package/esm2022/lib/mask/mask.component.mjs +0 -22
- package/esm2022/lib/message-strip/message-strip.component.mjs +0 -28
- package/esm2022/lib/models/grid-data-provider.mjs +0 -114
- package/esm2022/lib/models/grid-view.mjs +0 -2
- package/esm2022/lib/models/index.mjs +0 -2
- package/esm2022/lib/no-data/no-data.component.mjs +0 -31
- package/esm2022/lib/notification-item/notification-item.component.mjs +0 -57
- package/esm2022/lib/notification-popup.service.mjs +0 -92
- package/esm2022/lib/object-status-icon.pipe.mjs +0 -26
- package/esm2022/lib/progress-indicator/progress-indicator.component.mjs +0 -18
- package/esm2022/lib/report-navigator/report-navigator.component.mjs +0 -68
- package/esm2022/lib/report-new-top-form/report-new-top-form.component.mjs +0 -60
- package/esm2022/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.mjs +0 -35
- package/esm2022/lib/report-search-fields-manage/report-search-fields-manage.component.mjs +0 -97
- package/esm2022/lib/report-search-panel-save/report-search-panel-save.component.mjs +0 -88
- package/esm2022/lib/report-tree-base.mjs +0 -386
- package/esm2022/lib/report-view-renderer.directive.mjs +0 -385
- package/esm2022/lib/responsive-toolbar/responsive-toolbar.component.mjs +0 -50
- package/esm2022/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.mjs +0 -84
- package/esm2022/lib/rich-text-static/rich-text-static.component.mjs +0 -72
- package/esm2022/lib/sap-font-class.pipe.mjs +0 -29
- package/esm2022/lib/sap-font.pipe.mjs +0 -29
- package/esm2022/lib/sap-size.pipe.mjs +0 -27
- package/esm2022/lib/sap-ui-report-base.component.mjs +0 -805
- package/esm2022/lib/search-panel/search-panel.component.mjs +0 -63
- package/esm2022/lib/static-text/static-text.component.mjs +0 -15
- package/esm2022/lib/table-th.directive.mjs +0 -86
- package/esm2022/lib/title/title.component.mjs +0 -15
- package/esm2022/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.mjs +0 -34
- package/esm2022/lib/ui-bpmn-viewer/ui-bpmn-viewer.component.mjs +0 -33
- package/esm2022/lib/ui-button/ui-button.component.mjs +0 -32
- package/esm2022/lib/ui-calendar/ui-calendar.component.mjs +0 -53
- package/esm2022/lib/ui-card-view/ui-card-view.component.mjs +0 -57
- package/esm2022/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.mjs +0 -42
- package/esm2022/lib/ui-check-box/ui-check-box.component.mjs +0 -39
- package/esm2022/lib/ui-color-ui/ui-color-ui.component.mjs +0 -50
- package/esm2022/lib/ui-container-with-button/ui-container-with-button.component.mjs +0 -38
- package/esm2022/lib/ui-date-range-ex/ui-date-range-ex.component.mjs +0 -191
- package/esm2022/lib/ui-date-time/ui-date-time.component.mjs +0 -150
- package/esm2022/lib/ui-editable-grid/ui-editable-grid.component.mjs +0 -110
- package/esm2022/lib/ui-exception-form/ui-exception-form.component.mjs +0 -53
- package/esm2022/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +0 -121
- package/esm2022/lib/ui-form-panel/ui-form-panel.component.mjs +0 -100
- package/esm2022/lib/ui-gantt-chart/ui-gantt-chart.component.mjs +0 -32
- package/esm2022/lib/ui-graph/ui-graph.component.mjs +0 -17
- package/esm2022/lib/ui-grid/ui-grid.component.mjs +0 -25
- package/esm2022/lib/ui-grid-columns/ui-grid-columns.component.mjs +0 -43
- package/esm2022/lib/ui-grid-filter-item/ui-grid-filter-item.component.mjs +0 -66
- package/esm2022/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.mjs +0 -75
- package/esm2022/lib/ui-grid-sort-item/ui-grid-sort-item.component.mjs +0 -58
- package/esm2022/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.mjs +0 -123
- package/esm2022/lib/ui-html-viewer/ui-html-viewer.component.mjs +0 -16
- package/esm2022/lib/ui-info-bar-panel/ui-info-bar-panel.component.mjs +0 -11
- package/esm2022/lib/ui-label/ui-label.component.mjs +0 -12
- package/esm2022/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +0 -379
- package/esm2022/lib/ui-list-view/ui-list-view.component.mjs +0 -84
- package/esm2022/lib/ui-map/ui-map.component.mjs +0 -58
- package/esm2022/lib/ui-matrix-view/ui-matrix-view.component.mjs +0 -124
- package/esm2022/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.mjs +0 -19
- package/esm2022/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.mjs +0 -14
- package/esm2022/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.mjs +0 -55
- package/esm2022/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +0 -429
- package/esm2022/lib/ui-monaco-editor/ui-monaco-editor.component.mjs +0 -28
- package/esm2022/lib/ui-multi-select-card/ui-multi-select-card.component.mjs +0 -37
- package/esm2022/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.mjs +0 -59
- package/esm2022/lib/ui-multi-select-combo/ui-multi-select-combo.component.mjs +0 -93
- package/esm2022/lib/ui-multi-select-radio/ui-multi-select-radio.component.mjs +0 -36
- package/esm2022/lib/ui-multi-select-slider/ui-multi-select-slider.component.mjs +0 -56
- package/esm2022/lib/ui-multi-select-smile/ui-multi-select-smile.component.mjs +0 -28
- package/esm2022/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.mjs +0 -33
- package/esm2022/lib/ui-num-int-slider/ui-num-int-slider.component.mjs +0 -27
- package/esm2022/lib/ui-num-int-ui/ui-num-int-ui.component.mjs +0 -21
- package/esm2022/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +0 -268
- package/esm2022/lib/ui-picture-file/ui-picture-file.component.mjs +0 -101
- package/esm2022/lib/ui-pictures-info/ui-pictures-info.component.mjs +0 -261
- package/esm2022/lib/ui-radio-group/ui-radio-group.component.mjs +0 -48
- package/esm2022/lib/ui-read-only-field/ui-read-only-field.component.mjs +0 -36
- package/esm2022/lib/ui-report-container/ui-report-container.component.mjs +0 -46
- package/esm2022/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.mjs +0 -24
- package/esm2022/lib/ui-simple-combo/ui-simple-combo.component.mjs +0 -55
- package/esm2022/lib/ui-single-picture/ui-single-picture.component.mjs +0 -36
- package/esm2022/lib/ui-switch-button/ui-switch-button.component.mjs +0 -20
- package/esm2022/lib/ui-table-view/ui-table-view.component.mjs +0 -289
- package/esm2022/lib/ui-text-area/ui-text-area.component.mjs +0 -49
- package/esm2022/lib/ui-text-field/ui-text-field.component.mjs +0 -52
- package/esm2022/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.mjs +0 -48
- package/esm2022/lib/ui-time-span/ui-time-span.component.mjs +0 -24
- package/esm2022/lib/ui-tinymce/ui-tinymce.component.mjs +0 -53
- package/esm2022/lib/ui-tree/ui-tree.component.mjs +0 -114
- package/esm2022/lib/ui-tree-view/ui-tree-view.component.mjs +0 -100
- package/esm2022/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.mjs +0 -23
- package/esm2022/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +0 -306
- package/esm2022/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.mjs +0 -25
- package/esm2022/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.mjs +0 -93
- package/esm2022/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.mjs +0 -119
- package/esm2022/lib/ul-notify-popup/ul-notify-popup.component.mjs +0 -32
- package/esm2022/lib/ul-toast-adapter/ul-toast-adapter.component.mjs +0 -48
- package/esm2022/lib/ulv-column-settings/ulv-column-settings.component.mjs +0 -53
- package/esm2022/lib/ulv-context-menu/ulv-context-menu.component.mjs +0 -114
- package/esm2022/lib/ulv-filter-settings/ulv-filter-settings.component.mjs +0 -43
- package/esm2022/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +0 -196
- package/esm2022/lib/ulv-groupby-settings/ulv-groupby-settings.component.mjs +0 -44
- package/esm2022/lib/ulv-paging/ulv-paging.component.mjs +0 -84
- package/esm2022/lib/ulv-selection/ulv-selection.component.mjs +0 -65
- package/esm2022/lib/ulv-settings/ulv-settings.component.mjs +0 -116
- package/esm2022/lib/ulv-sort-settings/ulv-sort-settings.component.mjs +0 -54
- package/esm2022/lib/ulv-toolbar/ulv-toolbar.component.mjs +0 -174
- package/esm2022/lib/upload-file-status.pipe.mjs +0 -28
- package/esm2022/lib/util-chat-time-badge.pipe.mjs +0 -18
- package/esm2022/lib/util-date-to-hh-mm.pipe.mjs +0 -23
- package/esm2022/lib/wizard-layout.directive.mjs +0 -103
- package/esm2022/public-api.mjs +0 -233
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';
|
|
2
|
-
import { BaseDirective } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "barsa-novin-ray-core";
|
|
5
|
-
export class FullscreenDialogDirective extends BaseDirective {
|
|
6
|
-
constructor(_renderer2, _portalService, _el) {
|
|
7
|
-
super(_el);
|
|
8
|
-
this._renderer2 = _renderer2;
|
|
9
|
-
this._portalService = _portalService;
|
|
10
|
-
this._el = _el;
|
|
11
|
-
this.fullscreenChanged = new EventEmitter();
|
|
12
|
-
}
|
|
13
|
-
ngOnInit() {
|
|
14
|
-
super.ngOnInit();
|
|
15
|
-
if (this.fullscreen) {
|
|
16
|
-
this._handleFullscreen();
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
onFullscreen() {
|
|
20
|
-
if (!this.fullscreen) {
|
|
21
|
-
this._handleFullscreen();
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
this._handleExitFullscreen();
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
_handleExitFullscreen() {
|
|
28
|
-
this.dialogComponent.dialogPaddingSize = 'sm';
|
|
29
|
-
this._renderer2.removeClass(this.dialogComponent.dialogWindow.nativeElement, 'bsu-dialog-fullscreen');
|
|
30
|
-
this._portalService.windowResize();
|
|
31
|
-
this.fullscreenChanged.emit(false);
|
|
32
|
-
}
|
|
33
|
-
_handleFullscreen() {
|
|
34
|
-
this.dialogComponent.dialogPaddingSize = 'lg';
|
|
35
|
-
this._renderer2.addClass(this.dialogComponent.dialogWindow.nativeElement, 'bsu-dialog-fullscreen');
|
|
36
|
-
this._portalService.windowResize();
|
|
37
|
-
this.fullscreenChanged.emit(true);
|
|
38
|
-
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FullscreenDialogDirective, deps: [{ token: i0.Renderer2 }, { token: i1.PortalService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
40
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: FullscreenDialogDirective, selector: "[fullscreenDialog]", inputs: { dialog: "dialog", dialogComponent: "dialogComponent", fullscreen: "fullscreen" }, outputs: { fullscreenChanged: "fullscreenChanged" }, host: { listeners: { "click": "onFullscreen()" } }, usesInheritance: true, ngImport: i0 }); }
|
|
41
|
-
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FullscreenDialogDirective, decorators: [{
|
|
43
|
-
type: Directive,
|
|
44
|
-
args: [{
|
|
45
|
-
selector: '[fullscreenDialog]'
|
|
46
|
-
}]
|
|
47
|
-
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i1.PortalService }, { type: i0.ElementRef }], propDecorators: { dialog: [{
|
|
48
|
-
type: Input
|
|
49
|
-
}], dialogComponent: [{
|
|
50
|
-
type: Input
|
|
51
|
-
}], fullscreen: [{
|
|
52
|
-
type: Input
|
|
53
|
-
}], fullscreenChanged: [{
|
|
54
|
-
type: Output
|
|
55
|
-
}], onFullscreen: [{
|
|
56
|
-
type: HostListener,
|
|
57
|
-
args: ['click']
|
|
58
|
-
}] } });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbHNjcmVlbi1kaWFsb2cuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvZnVsbHNjcmVlbi1kaWFsb2cuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBR3BILE9BQU8sRUFBRSxhQUFhLEVBQWlCLE1BQU0sc0JBQXNCLENBQUM7OztBQUtwRSxNQUFNLE9BQU8seUJBQTBCLFNBQVEsYUFBYTtJQU14RCxZQUFvQixVQUFxQixFQUFVLGNBQTZCLEVBQVksR0FBZTtRQUN2RyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFESyxlQUFVLEdBQVYsVUFBVSxDQUFXO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFBWSxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBRmpHLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFJMUQsQ0FBQztJQUNELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUM3QixDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ2pDLENBQUM7SUFDTCxDQUFDO0lBRU8scUJBQXFCO1FBQ3pCLElBQUksQ0FBQyxlQUFlLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQzlDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3RHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU8saUJBQWlCO1FBQ3JCLElBQUksQ0FBQyxlQUFlLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQzlDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1FBQ25HLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDOytHQXBDUSx5QkFBeUI7bUdBQXpCLHlCQUF5Qjs7NEZBQXpCLHlCQUF5QjtrQkFIckMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsb0JBQW9CO2lCQUNqQzttSUFFWSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFZUCxZQUFZO3NCQURYLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaWFsb2dDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlRGlyZWN0aXZlLCBQb3J0YWxTZXJ2aWNlIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmdWxsc2NyZWVuRGlhbG9nXSdcbn0pXG5leHBvcnQgY2xhc3MgRnVsbHNjcmVlbkRpYWxvZ0RpcmVjdGl2ZSBleHRlbmRzIEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIGRpYWxvZzogYW55O1xuICAgIEBJbnB1dCgpIGRpYWxvZ0NvbXBvbmVudDogRGlhbG9nQ29tcG9uZW50O1xuICAgIEBJbnB1dCgpIGZ1bGxzY3JlZW46IGJvb2xlYW47XG4gICAgQE91dHB1dCgpIGZ1bGxzY3JlZW5DaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfcmVuZGVyZXIyOiBSZW5kZXJlcjIsIHByaXZhdGUgX3BvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UsIHByb3RlY3RlZCBfZWw6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgc3VwZXIoX2VsKTtcbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIGlmICh0aGlzLmZ1bGxzY3JlZW4pIHtcbiAgICAgICAgICAgIHRoaXMuX2hhbmRsZUZ1bGxzY3JlZW4oKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gICAgb25GdWxsc2NyZWVuKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZnVsbHNjcmVlbikge1xuICAgICAgICAgICAgdGhpcy5faGFuZGxlRnVsbHNjcmVlbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5faGFuZGxlRXhpdEZ1bGxzY3JlZW4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2hhbmRsZUV4aXRGdWxsc2NyZWVuKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpYWxvZ0NvbXBvbmVudC5kaWFsb2dQYWRkaW5nU2l6ZSA9ICdzbSc7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyMi5yZW1vdmVDbGFzcyh0aGlzLmRpYWxvZ0NvbXBvbmVudC5kaWFsb2dXaW5kb3cubmF0aXZlRWxlbWVudCwgJ2JzdS1kaWFsb2ctZnVsbHNjcmVlbicpO1xuICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLndpbmRvd1Jlc2l6ZSgpO1xuICAgICAgICB0aGlzLmZ1bGxzY3JlZW5DaGFuZ2VkLmVtaXQoZmFsc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2hhbmRsZUZ1bGxzY3JlZW4oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlhbG9nQ29tcG9uZW50LmRpYWxvZ1BhZGRpbmdTaXplID0gJ2xnJztcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIyLmFkZENsYXNzKHRoaXMuZGlhbG9nQ29tcG9uZW50LmRpYWxvZ1dpbmRvdy5uYXRpdmVFbGVtZW50LCAnYnN1LWRpYWxvZy1mdWxsc2NyZWVuJyk7XG4gICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2Uud2luZG93UmVzaXplKCk7XG4gICAgICAgIHRoaXMuZnVsbHNjcmVlbkNoYW5nZWQuZW1pdCh0cnVlKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { Directive, HostListener, Input } from '@angular/core';
|
|
2
|
-
import { FileViewerComponent } from './file-viewer/file-viewer.component';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@fundamental-ngx/core";
|
|
5
|
-
export class FullscreenFilesDirective {
|
|
6
|
-
constructor(_dialogService) {
|
|
7
|
-
this._dialogService = _dialogService;
|
|
8
|
-
}
|
|
9
|
-
_handleClick() {
|
|
10
|
-
this._dialogService.open(this.component ?? FileViewerComponent, {
|
|
11
|
-
data: {
|
|
12
|
-
isImageGallery: this.isImageGallery,
|
|
13
|
-
files: this.files,
|
|
14
|
-
title: this.title,
|
|
15
|
-
deviceSize: this.deviceSize
|
|
16
|
-
},
|
|
17
|
-
mobile: true
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FullscreenFilesDirective, deps: [{ token: i1.DialogService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
21
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: FullscreenFilesDirective, selector: "[fullscreenFiles]", inputs: { files: "files", title: "title", deviceSize: "deviceSize", isImageGallery: "isImageGallery", component: "component" }, host: { listeners: { "click": "_handleClick()" } }, ngImport: i0 }); }
|
|
22
|
-
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FullscreenFilesDirective, decorators: [{
|
|
24
|
-
type: Directive,
|
|
25
|
-
args: [{
|
|
26
|
-
selector: '[fullscreenFiles]'
|
|
27
|
-
}]
|
|
28
|
-
}], ctorParameters: () => [{ type: i1.DialogService }], propDecorators: { files: [{
|
|
29
|
-
type: Input
|
|
30
|
-
}], title: [{
|
|
31
|
-
type: Input
|
|
32
|
-
}], deviceSize: [{
|
|
33
|
-
type: Input
|
|
34
|
-
}], isImageGallery: [{
|
|
35
|
-
type: Input
|
|
36
|
-
}], component: [{
|
|
37
|
-
type: Input
|
|
38
|
-
}], _handleClick: [{
|
|
39
|
-
type: HostListener,
|
|
40
|
-
args: ['click']
|
|
41
|
-
}] } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbHNjcmVlbi1maWxlcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9mdWxsc2NyZWVuLWZpbGVzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFHckUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7OztBQUsxRSxNQUFNLE9BQU8sd0JBQXdCO0lBTWpDLFlBQW9CLGNBQTZCO1FBQTdCLG1CQUFjLEdBQWQsY0FBYyxDQUFlO0lBQUcsQ0FBQztJQUM5QixZQUFZO1FBQy9CLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksbUJBQW1CLEVBQUU7WUFDNUQsSUFBSSxFQUFFO2dCQUNGLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztnQkFDbkMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTthQUM5QjtZQUNELE1BQU0sRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0FqQlEsd0JBQXdCO21HQUF4Qix3QkFBd0I7OzRGQUF4Qix3QkFBd0I7a0JBSHBDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtpQkFDaEM7a0ZBRVksS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFaUIsWUFBWTtzQkFBbEMsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIElucHV0LCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcbmltcG9ydCB7IEZpbGVBdHRhY2htZW50SW5mbywgQWJicmV2YXRpb25EZXZpY2VTaXplIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuaW1wb3J0IHsgRmlsZVZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsZS12aWV3ZXIvZmlsZS12aWV3ZXIuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZnVsbHNjcmVlbkZpbGVzXSdcbn0pXG5leHBvcnQgY2xhc3MgRnVsbHNjcmVlbkZpbGVzRGlyZWN0aXZlIHtcbiAgICBASW5wdXQoKSBmaWxlczogRmlsZUF0dGFjaG1lbnRJbmZvW107XG4gICAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcbiAgICBASW5wdXQoKSBkZXZpY2VTaXplOiBBYmJyZXZhdGlvbkRldmljZVNpemU7XG4gICAgQElucHV0KCkgaXNJbWFnZUdhbGxlcnk6IGJvb2xlYW47XG4gICAgQElucHV0KCkgY29tcG9uZW50OiBUeXBlPGFueT47XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSkge31cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpIF9oYW5kbGVDbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZGlhbG9nU2VydmljZS5vcGVuKHRoaXMuY29tcG9uZW50ID8/IEZpbGVWaWV3ZXJDb21wb25lbnQsIHtcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICBpc0ltYWdlR2FsbGVyeTogdGhpcy5pc0ltYWdlR2FsbGVyeSxcbiAgICAgICAgICAgICAgICBmaWxlczogdGhpcy5maWxlcyxcbiAgICAgICAgICAgICAgICB0aXRsZTogdGhpcy50aXRsZSxcbiAgICAgICAgICAgICAgICBkZXZpY2VTaXplOiB0aGlzLmRldmljZVNpemVcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBtb2JpbGU6IHRydWVcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, ViewContainerRef } from '@angular/core';
|
|
2
|
-
import { DynamicPageComponent } from '@fundamental-ngx/core';
|
|
3
|
-
import { BaseComponent, isFirefox } from 'barsa-novin-ray-core';
|
|
4
|
-
import { GetFormLayoutGrid } from '../constants';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common";
|
|
7
|
-
import * as i2 from "barsa-novin-ray-core";
|
|
8
|
-
import * as i3 from "@angular/cdk/scrolling";
|
|
9
|
-
import * as i4 from "@fundamental-ngx/core/avatar";
|
|
10
|
-
import * as i5 from "@fundamental-ngx/core/breadcrumb";
|
|
11
|
-
import * as i6 from "@fundamental-ngx/core/button";
|
|
12
|
-
import * as i7 from "@fundamental-ngx/core/dynamic-page";
|
|
13
|
-
import * as i8 from "@fundamental-ngx/core/facets";
|
|
14
|
-
import * as i9 from "@fundamental-ngx/core/form";
|
|
15
|
-
import * as i10 from "@fundamental-ngx/core/layout-grid";
|
|
16
|
-
import * as i11 from "@fundamental-ngx/core/message-strip";
|
|
17
|
-
import * as i12 from "@fundamental-ngx/core/object-number";
|
|
18
|
-
import * as i13 from "@fundamental-ngx/core/object-status";
|
|
19
|
-
import * as i14 from "@fundamental-ngx/core/rating-indicator";
|
|
20
|
-
import * as i15 from "@fundamental-ngx/core/text";
|
|
21
|
-
import * as i16 from "@fundamental-ngx/core/toolbar";
|
|
22
|
-
import * as i17 from "@fundamental-ngx/core/progress-indicator";
|
|
23
|
-
import * as i18 from "@fundamental-ngx/platform";
|
|
24
|
-
import * as i19 from "../ly-layout-container-of-root/ly-layout-container-of-root.component";
|
|
25
|
-
import * as i20 from "../mask/mask.component";
|
|
26
|
-
import * as i21 from "../ly-tab-page/ly-tab-page.component";
|
|
27
|
-
import * as i22 from "../layout-actions/layout-actions.component";
|
|
28
|
-
import * as i23 from "../breadcrumb/breadcrumb.component";
|
|
29
|
-
import * as i24 from "../form-toolbar/form-toolbar.component";
|
|
30
|
-
export class FundamentalDynamicFormComponent extends BaseComponent {
|
|
31
|
-
constructor(el) {
|
|
32
|
-
super();
|
|
33
|
-
this.el = el;
|
|
34
|
-
this.toolbarClick = new EventEmitter();
|
|
35
|
-
this.workflowChoiceClick = new EventEmitter();
|
|
36
|
-
/* eslint-disable */
|
|
37
|
-
this.close = new EventEmitter();
|
|
38
|
-
this.fullscreenRequest = new EventEmitter();
|
|
39
|
-
this.hideTitle = true;
|
|
40
|
-
this.toolbarShouldOverflow = false;
|
|
41
|
-
this.worfklowButtonsOnFooter = false;
|
|
42
|
-
}
|
|
43
|
-
ngOnInit() {
|
|
44
|
-
super.ngOnInit();
|
|
45
|
-
this.isFirefox = isFirefox();
|
|
46
|
-
this.facetList ||= [];
|
|
47
|
-
this.workflowInfoText = this.workflowPanelUi?.Setting?.Workflow?.InfoText;
|
|
48
|
-
// const workflowButtons = this.workflowPanelUi?.buttonList ?? [];
|
|
49
|
-
this.workflowButtonsComboMode = this.isMobile;
|
|
50
|
-
this.worfklowButtonsOnFooter = this.parameters?.WorkflowButtonsOnFooter;
|
|
51
|
-
// this.workflowButtons = workflowButtons;
|
|
52
|
-
this.canFullscreen = this.parameters?.CanFullscreen === true;
|
|
53
|
-
const toolbarButtonsCount = this.toolbarItems.filter((c) => typeof c !== 'string' && c.text !== '-').length;
|
|
54
|
-
if (this.deviceSize === 's' && toolbarButtonsCount > 1) {
|
|
55
|
-
this.toolbarShouldOverflow = true;
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
if (toolbarButtonsCount > 5) {
|
|
59
|
-
this.toolbarShouldOverflow = true;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
this._hanldeLayout();
|
|
63
|
-
// setTimeout(() => {
|
|
64
|
-
// this._tabListComponent._disableScrollSpy = true;
|
|
65
|
-
// });
|
|
66
|
-
}
|
|
67
|
-
ngOnChanges(changes) {
|
|
68
|
-
const { formVisibilityStatus } = changes;
|
|
69
|
-
if (formVisibilityStatus &&
|
|
70
|
-
!formVisibilityStatus.firstChange &&
|
|
71
|
-
formVisibilityStatus.currentValue === 'Visible') {
|
|
72
|
-
this._dynamicPageComponent?.refreshSize();
|
|
73
|
-
this._toolbarComponent?.updateCollapsibleItems();
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
onWfChoiceSelect(wfChoice) {
|
|
77
|
-
this.workflowChoiceClick.emit(wfChoice);
|
|
78
|
-
}
|
|
79
|
-
onTabChanged(tab) {
|
|
80
|
-
this.selectedTab = tab.label;
|
|
81
|
-
}
|
|
82
|
-
getNumber(val) {
|
|
83
|
-
return Number(val);
|
|
84
|
-
}
|
|
85
|
-
onDynamicComponentEvents(e) {
|
|
86
|
-
switch (e.title) {
|
|
87
|
-
case 'toolbarClick':
|
|
88
|
-
this.toolbarClick.emit(e.data);
|
|
89
|
-
break;
|
|
90
|
-
case 'workflowChoiceSelect':
|
|
91
|
-
this.onWfChoiceSelect(e.data);
|
|
92
|
-
break;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
_hanldeLayout() {
|
|
96
|
-
this.layout1 = GetFormLayoutGrid(true, this.colXl, this.colLg, this.colMd);
|
|
97
|
-
this.layout2 = GetFormLayoutGrid(false, this.colXl, this.colLg, this.colMd);
|
|
98
|
-
}
|
|
99
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FundamentalDynamicFormComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
100
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FundamentalDynamicFormComponent, selector: "bsu-fundamental-dynamic-form", inputs: { breadCrumbs: "breadCrumbs", toolbarVisible: "toolbarVisible", toolbarItems: "toolbarItems", layoutActions: "layoutActions", layout94: "layout94", parameters: "parameters", workflowPanelUi: "workflowPanelUi", context: "context", title: "title", subtitle: "subtitle", description: "description", facetList: "facetList", fieldDict: "fieldDict", removeHeaderBorder: "removeHeaderBorder", removeContentPadding: "removeContentPadding", isMobile: "isMobile", mo: "mo", avatar: "avatar", circleAvatar: "circleAvatar", rtl: "rtl", hideFooter: "hideFooter", hideTitle: "hideTitle", hideClose: "hideClose", hidePin: "hidePin", fullscreen: "fullscreen", mask: "mask", canSend: "canSend", contentIsPage: "contentIsPage", contentDensity: "contentDensity", deviceSize: "deviceSize", dirValue: "dirValue", landscape: "landscape", standalone: "standalone", modernTabs: "modernTabs", formVisibilityStatus: "formVisibilityStatus", layoutGridCol: "layoutGridCol", colLg: "colLg", colXl: "colXl", colMd: "colMd", footerDesign: "footerDesign", formContentMaxWidth: "formContentMaxWidth", workflowButtons: "workflowButtons" }, outputs: { toolbarClick: "toolbarClick", workflowChoiceClick: "workflowChoiceClick", close: "close", fullscreenRequest: "fullscreenRequest" }, viewQueries: [{ propertyName: "_dynamicPageComponent", first: true, predicate: DynamicPageComponent, descendants: true, static: true }, { propertyName: "_toolbarComponent", first: true, predicate: ["formToolbar"], descendants: true }, { propertyName: "titleRef", first: true, predicate: ["titleRef"], descendants: true, read: ViewContainerRef }, { propertyName: "headerAvatarRef", first: true, predicate: ["headerAvatar"], descendants: true }, { propertyName: "closeFormTemplate", first: true, predicate: ["closeForm"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (mask) {\n<div style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%\">\n <bsu-mask size=\"m\"></bsu-mask>\n</div>\n}\n\n<fd-dynamic-page\n [size]=\"isMobile ? 'small' : 'large'\"\n [ngClass]=\"{ 'floating-footer': footerDesign === 'floating-footer' }\"\n [class.header-border]=\"!removeHeaderBorder\"\n [attr.isMobile]=\"isMobile\"\n [attr.contentIsPage]=\"contentIsPage\"\n mobile\n formClose\n [isMobile]=\"isMobile\"\n>\n <fd-dynamic-page-header\n [class.simple-title]=\"!description\"\n [title]=\"(hideTitle === true ? '' : title) | bbbTranslate\"\n [class.p-b0]=\"removeContentPadding\"\n [class.hide-title]=\"hideTitle === true && hideClose === true\"\n [class.no-toolbar-items]=\"!(toolbarItems | filterWorkflowInMobile: worfklowButtonsOnFooter)?.length\"\n #titleRef\n >\n <fd-dynamic-page-breadcrumb [class.hide]=\"isMobile\">\n <fd-breadcrumb>\n @if (breadCrumbs && !isMobile) { @for (breadCrumb of breadCrumbs | slice: 0:breadCrumbs.length; track\n breadCrumb.url; let i = $index; let last = $last) {\n <fd-breadcrumb-item>\n <bsu-breadcrumb\n [index]=\"i\"\n [isLast]=\"last\"\n [breadCrumb]=\"breadCrumb\"\n [allBreadCrumb]=\"breadCrumbs\"\n ></bsu-breadcrumb>\n </fd-breadcrumb-item>\n } }\n </fd-breadcrumb>\n </fd-dynamic-page-breadcrumb>\n <fd-dynamic-page-global-actions>\n <!-- global actions -->\n\n <fd-toolbar [shouldOverflow]=\"true\" Style=\"display:none\"> </fd-toolbar>\n <!-- added this because in mobile landscape toolbar disapper -->\n @if (toolbarVisible) {\n <bsu-form-toolbar\n [deviceSize]=\"deviceSize\"\n [buttons]=\"toolbarItems | filterWorkflowInMobile: worfklowButtonsOnFooter\"\n [dirValue]=\"dirValue\"\n [isFirefox]=\"isFirefox\"\n (toolbarClick)=\"toolbarClick.emit($event)\"\n #formToolbar\n ></bsu-form-toolbar>\n }\n </fd-dynamic-page-global-actions>\n <fd-dynamic-page-layout-actions>\n <!-- layout actions -->\n <!-- <div [formActions]=\"this.toolbar\"></div> -->\n @if (!hideClose) {\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\n @if (deviceSize !== 's') {\n <fd-toolbar-separator></fd-toolbar-separator>\n }\n <ng-container *ngTemplateOutlet=\"fullscreenForm\"></ng-container>\n <ng-container *ngTemplateOutlet=\"closeForm\"></ng-container>\n </fd-toolbar>\n }\n </fd-dynamic-page-layout-actions>\n </fd-dynamic-page-header>\n @if (description || facetList.length > 0 || workflowInfoText || avatar) {}\n <fd-dynamic-page-subheader\n [class.header-no-description]=\"!(description || workflowInfoText)\"\n [class.no-pin]=\"hidePin || (!facetList?.length && !workflowInfoText)\"\n [collapsible]=\"true\"\n [pinnable]=\"false\"\n [collapsed]=\"!facetList?.length && !workflowInfoText\"\n >\n @if (workflowInfoText) {\n <fd-message-strip [type]=\"'warning'\" [dismissible]=\"false\">\n {{ workflowInfoText | bbbTranslate }}\n </fd-message-strip>\n }\n <fd-facet-group ariaLabel=\"Facet Group\">\n @if (avatar) {\n <fd-facet type=\"image\">\n <fd-avatar\n title=\"avatar\"\n [glyph]=\"avatar\"\n [image]=\"!avatar?.FileId ? null : (avatar?.FileId | picFieldSrc: 'ID':null)\"\n [size]=\"deviceSize === 'xl' ? 'l' : deviceSize\"\n [transparent]=\"true\"\n [circle]=\"circleAvatar\"\n ></fd-avatar>\n <!-- <div\n class=\"fd-avatar fd-avatar--circle\"\n [class]=\"'fd-avatar--' + (deviceSize === 'xl' ? 'l' : deviceSize)\"\n >\n <i *ngIf=\"avatar\" class=\"fd-avatar__icon\" [class]=\"avatar | sapFontClass\" role=\"presentation\"> </i>\n </div> -->\n </fd-facet>\n } @for (facet of facetList; track facet) {\n <fd-facet\n [type]=\"facet.type\"\n [facetTitle]=\"facet.mo.Title | bbbTranslate\"\n [subtitle]=\"facet.mo.SubTitle | facetValue | bbbTranslate\"\n >\n @for (item of facet.mo.ItemList?.MoDataList; track item) {\n <fd-facet-content>\n <label fd-form-label [colon]=\"true\" for=\"form-value-10\">{{ item.Title }}</label>\n <fd-text [text]=\"item.Value | facetValue\" id=\"form-value-10\"></fd-text>\n </fd-facet-content>\n } @if ( !facet.mo.IsNumber && facet.type === 'key-value' && !facet.mo.Component?.Selector) {\n <span\n fd-object-status\n [status]=\"facet.mo.Status | facetValue\"\n [label]=\"facet.mo.Component?.Selector ? '' : (facet.mo.Text | facetValue)\"\n [large]=\"facet.mo.IsLarge\"\n [title]=\"facet.mo.Text | facetValue\"\n [aria-label]=\"facet.mo.Text | facetValue\"\n [glyph]=\"facet.mo.Icon\"\n >\n </span>\n } @else {\n <bnrc-dynamic-component\n [class]=\"'fd-object-status fd-object-status--' + facet.mo.Status | facetValue\"\n [class.fd-object-status--large]=\"facet.mo.IsLarge\"\n [component]=\"facet.mo.Component\"\n [value]=\"facet.mo.Text\"\n ></bnrc-dynamic-component>\n } @if (facet.mo.IsNumber && facet.type === 'key-value') {\n <fd-object-number\n [number]=\"facet.mo.Text | facetValue\"\n [large]=\"facet.mo.IsLarge\"\n [unit]=\"facet.mo.Unit | facetValue\"\n [status]=\"facet.mo.Status | facetValue\"\n [decimal]=\"facet.mo.DecimalValue | facetValue\"\n ></fd-object-number>\n } @if (facet.type === 'plain-text') {\n <div [style.width.px]=\"facet.mo.Width\" style=\"white-space: normal\">\n <fd-text [text]=\"facet.mo.Text | facetValue\" hyphenation=\"auto\"></fd-text>\n </div>\n } @if (facet.type === 'rating-indicator') {\n <fd-facet-content>\n <fd-rating-indicator\n style=\"pointer-events: none\"\n size=\"md\"\n [dynamicTextIndicator]=\"facet.mo.Footer\"\n [displayMode]=\"true\"\n [value]=\"facet.mo | facetValue: facet.type\"\n ></fd-rating-indicator>\n </fd-facet-content>\n } @if (facet.type === 'progress') {\n <div [style.width]=\"'10rem'\">\n <!-- <span fd-form-label>{{ facet.mo.Subtitle | facetValue }}</span> -->\n <fd-progress-indicator\n style=\"width: 10r em\"\n [state]=\"facet.mo.State\"\n [valueText]=\"(facet.mo | facetValue: facet.type) + ' \u0627\u0632 10 \u0645\u0631\u062D\u0644\u0647'\"\n [valueNow]=\"facet.mo | facetValue: facet.type\"\n [valueMax]=\"10\"\n [unit]=\"'\u0645\u0631\u062D\u0644\u0647'\"\n ></fd-progress-indicator>\n <!-- <ui5-progress-indicator\n style=\"width: 10rem\"\n [valueState]=\"facet.mo.State\"\n [value]=\"getNumber(facet.mo.Value)\"\n ></ui5-progress-indicator> -->\n </div>\n } @if (facet.type === 'microcharts') {\n <div>\n <label wrap>in progress ...</label>\n </div>\n }\n </fd-facet>\n }\n </fd-facet-group>\n @if (description) {\n <span>{{ description }}</span>\n }\n </fd-dynamic-page-subheader>\n @if(!parameters?.LayoutComponent && !modernTabs.length && !contentIsPage){\n <fd-dynamic-page-content [class.limit-content-width]=\"formContentMaxWidth > 0\">\n <fd-layout-grid style=\"min-height: 100%\" [style.max-width.px]=\"formContentMaxWidth\">\n <div fdLayoutGridRow>\n <div\n style=\"padding: 0\"\n [fdLayoutGridCol]=\"0\"\n [colMd]=\"layout1.colMd\"\n [colLg]=\"layout1.colLg\"\n [colXl]=\"layout1.colXl\"\n ></div>\n <div style=\"min-height: 100%\" [fdLayoutGridCol]=\"12\" [colMd]=\"colMd\" [colLg]=\"colLg\" [colXl]=\"colXl\">\n <ng-container\n *ngTemplateOutlet=\"\n parameters?.LayoutComponent ? renderLayoutComponent : renderDefaultLayout;\n context: {\n $implicit: parameters?.LayoutComponent,\n layout94: layout94\n }\n \"\n ></ng-container>\n </div>\n <div\n style=\"padding: 0\"\n [fdLayoutGridCol]=\"0\"\n [colMd]=\"layout2.colMd\"\n [colLg]=\"layout2.colLg\"\n [colXl]=\"layout2.colXl\"\n ></div>\n </div>\n </fd-layout-grid>\n </fd-dynamic-page-content>\n } @else if(modernTabs.length && !contentIsPage && !parameters?.LayoutComponent){\n <fdp-icon-tab-bar [stackContent]=\"false\" [collapseOverflow]=\"true\" [expandOverflowText]=\"'More' | bbbTranslate\">\n @for (tab of modernTabs; track tab.Title; let i = $index) {\n\n <fdp-icon-tab-bar-tab\n [id]=\"tab.id\"\n [label]=\"tab.Title!! | bbbTranslate\"\n [title]=\"tab.Title!! | bbbTranslate\"\n [class.is-expanded]=\"selectedTab === tab.Title\"\n #tablist\n >\n <fd-dynamic-page-content [id]=\"tab.id\" [class.limit-content-width]=\"formContentMaxWidth > 0\" cdkScrollable>\n <fd-layout-grid [style.max-width.px]=\"formContentMaxWidth\">\n <div fdLayoutGridRow>\n <div\n [fdLayoutGridCol]=\"0\"\n [colMd]=\"layout1.colMd\"\n [colLg]=\"layout1.colLg\"\n [colXl]=\"layout1.colXl\"\n ></div>\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"colMd\" [colLg]=\"colLg\" [colXl]=\"colXl\">\n <bsu-ly-tab-page [config]=\"tab\"></bsu-ly-tab-page>\n </div>\n <div\n [fdLayoutGridCol]=\"0\"\n [colMd]=\"layout2.colMd\"\n [colLg]=\"layout2.colLg\"\n [colXl]=\"layout2.colXl\"\n ></div>\n </div>\n </fd-layout-grid>\n </fd-dynamic-page-content>\n </fdp-icon-tab-bar-tab>\n }\n </fdp-icon-tab-bar>\n } @if(!hideFooter){\n <fd-dynamic-page-footer>\n <bsu-layout-actions\n [canSend]=\"canSend\"\n [buttons]=\"layoutActions\"\n [isMobile]=\"isMobile\"\n [landscape]=\"landscape\"\n [standalone]=\"standalone\"\n [footerDesign]=\"footerDesign\"\n [workflowButtons]=\"workflowButtons\"\n [workflowButtonsComboMode]=\"workflowButtonsComboMode || worfklowButtonsOnFooter\"\n [deviceSize]=\"deviceSize\"\n [rtl]=\"rtl\"\n (toolClick)=\"toolbarClick.emit($event)\"\n (workflowChoiceSelect)=\"onWfChoiceSelect($event)\"\n >\n </bsu-layout-actions>\n </fd-dynamic-page-footer>\n }\n</fd-dynamic-page>\n@if (contentIsPage) {\n<ng-container\n *ngTemplateOutlet=\"\n renderLayoutComponent;\n context: {\n $implicit: parameters?.LayoutComponent,\n layout94: layout94\n }\n \"\n></ng-container>\n}\n<ng-template #renderDefaultLayout let-layout94=\"layout94\">\n <bsu-ly-layout-container-of-root\n [config]=\"layout94\"\n [isPanel]=\"false\"\n [isRoot]=\"true\"\n ></bsu-ly-layout-container-of-root>\n</ng-template>\n<ng-template #renderLayoutComponent let-component let-layout94=\"layout94\">\n <bnrc-dynamic-form-component\n [component]=\"component\"\n [removeContentPadding]=\"removeContentPadding\"\n [breadCrumbs]=\"breadCrumbs\"\n [description]=\"description\"\n [title]=\"title\"\n [subtitle]=\"subtitle\"\n [toolbarItems]=\"toolbarItems\"\n [layoutActions]=\"layoutActions\"\n [footerDesign]=\"footerDesign\"\n [facetList]=\"facetList\"\n [settings]=\"component.Settings\"\n [workflowButtons]=\"workflowButtons\"\n [workflowPanelUi]=\"workflowPanelUi\"\n [isMobile]=\"isMobile\"\n [mo]=\"mo\"\n [layout94]=\"layout94\"\n [context]=\"context\"\n [rtl]=\"rtl\"\n [fieldDict]=\"fieldDict\"\n [mask]=\"mask\"\n [dirValue]=\"dirValue\"\n [deviceSize]=\"deviceSize\"\n [contentDensity]=\"contentDensity\"\n [modernTabs]=\"modernTabs\"\n [avatar]=\"avatar\"\n (events)=\"onDynamicComponentEvents($event)\"\n ></bnrc-dynamic-form-component>\n</ng-template>\n<ng-template #closeForm>\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" (click)=\"close.emit()\" title=\"Close\">\n <i [class]=\"'sap-icon--' + (isMobile ? (rtl ? 'arrow-right' : 'arrow-left') : 'decline')\"></i>\n </button>\n</ng-template>\n<ng-template #fullscreenForm>\n @if (canFullscreen) {\n <button\n fd-button\n fdType=\"transparent\"\n [attr.aria-label]=\"fullscreen ? 'exit fullscreen' : 'fullscreen'\"\n (click)=\"fullscreenRequest.emit()\"\n [title]=\"fullscreen ? 'exit fullscreen' : 'fullscreen'\"\n [glyph]=\"fullscreen ? 'exitfullscreen' : 'resize'\"\n ></button>\n }\n</ng-template>\n", styles: [":host{display:block;height:auto;width:100%}:host ::ng-deep fd-dynamic-page[contentIsPage=true] .fd-dynamic-page{height:auto!important}:host ::ng-deep .fd-progress-indicator__container,:host ::ng-deep .fd-progress-indicator__progress-bar{height:1.5rem}:host ::ng-deep fd-facet .fd-object-status--large{font-size:1.1rem}.no-toolbar-items ::ng-deep .fd-dynamic-page__toolbar-container{width:auto}fd-dynamic-page ::ng-deep>article>fd-tab-list>.fd-tabs__content fd-tab.is-expanded{min-height:100%;display:flex}fd-dynamic-page ::ng-deep>article>fd-tab-list>.fd-tabs__content fd-tab.is-expanded>fd-dynamic-page-content{min-height:100%;overflow:hidden}fd-dynamic-page ::ng-deep>article>fd-tab-list>.fd-tabs__content fd-tab.is-expanded bsu-ly-layout-container-of-root{min-height:100%}fd-dynamic-page fd-dynamic-page-content.limit-content-width{display:flex;justify-content:center}fd-facet{display:flex;flex-direction:column}.hide-title ::ng-deep .fd-dynamic-page__title-container{display:none!important}.no-pin ::ng-deep .fd-dynamic-page__collapsible-header-visibility-container{display:none!important}fd-toolbar.firefox ::ng-deep .fd-toolbar{flex-direction:row-reverse}fd-toolbar.firefox ::ng-deep .fd-toolbar>:first-child{margin-right:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.DynamicFormComponent, selector: "bnrc-dynamic-form-component", inputs: ["breadCrumbs", "toolbarVisible", "toolbarItems", "layoutActions", "workflowButtons", "layout94", "footerDesign", "settings", "workflowPanelUi", "title", "subtitle", "description", "facetList", "removeHeaderBorder", "removeContentPadding", "isMobile", "avatar", "rtl", "mask", "mo", "contentDensity", "deviceSize", "dirValue", "fieldDict", "modernTabs"] }, { kind: "component", type: i2.BaseDynamicComponent, selector: "bnrc-dynamic-component", inputs: ["component", "value"], outputs: ["events"] }, { kind: "directive", type: i2.FormCloseDirective, selector: "[formClose]", inputs: ["isMobile"] }, { kind: "directive", type: i2.MobileDirective, selector: "[mobile]" }, { kind: "directive", type: i3.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "component", type: i4.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "colorIndication", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i5.BreadcrumbComponent, selector: "fd-breadcrumb", inputs: ["reverse", "tabIndex"], outputs: ["visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i5.BreadcrumbItemComponent, selector: "fd-breadcrumb-item" }, { kind: "component", type: i6.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i7.DynamicPageComponent, selector: "fd-dynamic-page", inputs: ["disableSnapOnScroll", "ariaLabel", "ariaRoledescription", "background", "autoResponsive", "size", "offset", "expandContent", "positionRelative"] }, { kind: "component", type: i7.DynamicPageHeaderComponent, selector: "fd-dynamic-page-header", inputs: ["title", "titleWrap", "subtitle", "subtitleWrap", "headingLevel", "titleId"] }, { kind: "component", type: i7.DynamicPageGlobalActionsComponent, selector: "fd-dynamic-page-global-actions" }, { kind: "component", type: i7.DynamicPageLayoutActionsComponent, selector: "fd-dynamic-page-layout-actions" }, { kind: "component", type: i7.DynamicPageSubheaderComponent, selector: "fd-dynamic-page-subheader", inputs: ["collapsible", "pinnable", "collapsed", "expandLabel", "collapseLabel", "id", "headerAriaLabel", "pinAriaLabel", "unpinAriaLabel"], outputs: ["collapsedChange"] }, { kind: "component", type: i7.DynamicPageContentComponent, selector: "fd-dynamic-page-content", inputs: ["tabLabel", "id"] }, { kind: "component", type: i7.DynamicPageFooterComponent, selector: "fd-dynamic-page-footer" }, { kind: "component", type: i7.DynamicPageBreadcrumbComponent, selector: "fd-dynamic-page-breadcrumb" }, { kind: "component", type: i8.FacetComponent, selector: "fd-facet", inputs: ["type", "facetTitle", "subtitle", "headingLevel", "id", "alignEnd"] }, { kind: "component", type: i8.FacetGroupComponent, selector: "fd-facet-group", inputs: ["ariaLabel"] }, { kind: "component", type: i8.FacetContentComponent, selector: "fd-facet-content" }, { kind: "component", type: i9.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "alignLabelEnd", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "allowWrap", "inlineHelpLabel", "id"] }, { kind: "component", type: i10.LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: i10.LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "directive", type: i10.LayoutGridRowDirective, selector: "[fd-layout-grid-row], [fdLayoutGridRow]" }, { kind: "component", type: i11.MessageStripComponent, selector: "fd-message-strip", inputs: ["class", "dismissible", "noIcon", "type", "id", "ariaLabelledBy", "ariaLabel", "width", "minWidth", "marginBottom", "indicationColor"], outputs: ["onDismiss"] }, { kind: "component", type: i12.ObjectNumberComponent, selector: "fd-object-number", inputs: ["number", "decimal", "unit", "emphasized", "large", "status", "class", "ariaLabelledBy", "ariaLabel"] }, { kind: "component", type: i13.ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "glyphFont", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large", "secondaryIndication", "textTemplate"] }, { kind: "component", type: i14.RatingIndicatorComponent, selector: "fd-rating-indicator", inputs: ["class", "name", "ariaLabel", "ariaLabelledBy", "disabled", "displayMode", "nonInteractive", "indicatorCapacity", "allowHalves", "value", "totalRatings", "ratingAverage", "ratings", "displayAllRatings", "ratedIcon", "unratedIcon", "size", "dynamicTextIndicator"], outputs: ["ratingChanged"] }, { kind: "component", type: i15.TextComponent, selector: "fd-text", inputs: ["text", "maxLines", "whitespaces", "hyphenation", "expandable", "isCollapsed"], outputs: ["isCollapsedChange"] }, { kind: "component", type: i16.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "headingLevel", "ariaLabel", "ariaLabelledBy"] }, { kind: "component", type: i16.ToolbarSeparatorComponent, selector: "fd-toolbar-separator" }, { kind: "component", type: i17.ProgressIndicatorComponent, selector: "fd-progress-indicator", inputs: ["valueText", "unit", "valueMin", "valueMax", "valueNow", "state", "animate"] }, { kind: "component", type: i18.IconTabBarComponent, selector: "fdp-icon-tab-bar", inputs: ["stackContent", "iconTabType", "tabsConfig", "densityMode", "iconTabFont", "enableTabReordering", "showTotalTab", "multiClick", "layoutMode", "iconTabBackground", "iconTabSize", "colorAssociations", "maxContentHeight"], outputs: ["tabsConfigChange", "densityModeChange", "iconTabSelected", "iconTabReordered", "closeTab"] }, { kind: "component", type: i18.IconTabBarTabComponent, selector: "fdp-icon-tab-bar-tab", inputs: ["label", "color", "icon", "iconFont", "counter", "active", "badge", "closable", "id"] }, { kind: "component", type: i19.LyLayoutContainerOfRootComponent, selector: "bsu-ly-layout-container-of-root" }, { kind: "component", type: i20.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i21.LyTabPageComponent, selector: "bsu-ly-tab-page", inputs: ["renderItems", "tablist"] }, { kind: "component", type: i22.LayoutActionsComponent, selector: "bsu-layout-actions", inputs: ["workflowButtons", "workflowButtonsComboMode", "canSend", "simple", "footerDesign"], outputs: ["workflowChoiceSelect"] }, { kind: "component", type: i23.BreadcrumbComponent, selector: "bsu-breadcrumb", inputs: ["breadCrumb", "allBreadCrumb", "isLast", "index"] }, { kind: "component", type: i24.FormToolbarComponent, selector: "bsu-form-toolbar", outputs: ["toolbarClick"] }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }, { kind: "pipe", type: i2.HeaderFacetValuePipe, name: "facetValue" }, { kind: "pipe", type: i2.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i2.FilterWorkflowInMobilePipe, name: "filterWorkflowInMobile" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
101
|
-
}
|
|
102
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FundamentalDynamicFormComponent, decorators: [{
|
|
103
|
-
type: Component,
|
|
104
|
-
args: [{ selector: 'bsu-fundamental-dynamic-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (mask) {\n<div style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%\">\n <bsu-mask size=\"m\"></bsu-mask>\n</div>\n}\n\n<fd-dynamic-page\n [size]=\"isMobile ? 'small' : 'large'\"\n [ngClass]=\"{ 'floating-footer': footerDesign === 'floating-footer' }\"\n [class.header-border]=\"!removeHeaderBorder\"\n [attr.isMobile]=\"isMobile\"\n [attr.contentIsPage]=\"contentIsPage\"\n mobile\n formClose\n [isMobile]=\"isMobile\"\n>\n <fd-dynamic-page-header\n [class.simple-title]=\"!description\"\n [title]=\"(hideTitle === true ? '' : title) | bbbTranslate\"\n [class.p-b0]=\"removeContentPadding\"\n [class.hide-title]=\"hideTitle === true && hideClose === true\"\n [class.no-toolbar-items]=\"!(toolbarItems | filterWorkflowInMobile: worfklowButtonsOnFooter)?.length\"\n #titleRef\n >\n <fd-dynamic-page-breadcrumb [class.hide]=\"isMobile\">\n <fd-breadcrumb>\n @if (breadCrumbs && !isMobile) { @for (breadCrumb of breadCrumbs | slice: 0:breadCrumbs.length; track\n breadCrumb.url; let i = $index; let last = $last) {\n <fd-breadcrumb-item>\n <bsu-breadcrumb\n [index]=\"i\"\n [isLast]=\"last\"\n [breadCrumb]=\"breadCrumb\"\n [allBreadCrumb]=\"breadCrumbs\"\n ></bsu-breadcrumb>\n </fd-breadcrumb-item>\n } }\n </fd-breadcrumb>\n </fd-dynamic-page-breadcrumb>\n <fd-dynamic-page-global-actions>\n <!-- global actions -->\n\n <fd-toolbar [shouldOverflow]=\"true\" Style=\"display:none\"> </fd-toolbar>\n <!-- added this because in mobile landscape toolbar disapper -->\n @if (toolbarVisible) {\n <bsu-form-toolbar\n [deviceSize]=\"deviceSize\"\n [buttons]=\"toolbarItems | filterWorkflowInMobile: worfklowButtonsOnFooter\"\n [dirValue]=\"dirValue\"\n [isFirefox]=\"isFirefox\"\n (toolbarClick)=\"toolbarClick.emit($event)\"\n #formToolbar\n ></bsu-form-toolbar>\n }\n </fd-dynamic-page-global-actions>\n <fd-dynamic-page-layout-actions>\n <!-- layout actions -->\n <!-- <div [formActions]=\"this.toolbar\"></div> -->\n @if (!hideClose) {\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\n @if (deviceSize !== 's') {\n <fd-toolbar-separator></fd-toolbar-separator>\n }\n <ng-container *ngTemplateOutlet=\"fullscreenForm\"></ng-container>\n <ng-container *ngTemplateOutlet=\"closeForm\"></ng-container>\n </fd-toolbar>\n }\n </fd-dynamic-page-layout-actions>\n </fd-dynamic-page-header>\n @if (description || facetList.length > 0 || workflowInfoText || avatar) {}\n <fd-dynamic-page-subheader\n [class.header-no-description]=\"!(description || workflowInfoText)\"\n [class.no-pin]=\"hidePin || (!facetList?.length && !workflowInfoText)\"\n [collapsible]=\"true\"\n [pinnable]=\"false\"\n [collapsed]=\"!facetList?.length && !workflowInfoText\"\n >\n @if (workflowInfoText) {\n <fd-message-strip [type]=\"'warning'\" [dismissible]=\"false\">\n {{ workflowInfoText | bbbTranslate }}\n </fd-message-strip>\n }\n <fd-facet-group ariaLabel=\"Facet Group\">\n @if (avatar) {\n <fd-facet type=\"image\">\n <fd-avatar\n title=\"avatar\"\n [glyph]=\"avatar\"\n [image]=\"!avatar?.FileId ? null : (avatar?.FileId | picFieldSrc: 'ID':null)\"\n [size]=\"deviceSize === 'xl' ? 'l' : deviceSize\"\n [transparent]=\"true\"\n [circle]=\"circleAvatar\"\n ></fd-avatar>\n <!-- <div\n class=\"fd-avatar fd-avatar--circle\"\n [class]=\"'fd-avatar--' + (deviceSize === 'xl' ? 'l' : deviceSize)\"\n >\n <i *ngIf=\"avatar\" class=\"fd-avatar__icon\" [class]=\"avatar | sapFontClass\" role=\"presentation\"> </i>\n </div> -->\n </fd-facet>\n } @for (facet of facetList; track facet) {\n <fd-facet\n [type]=\"facet.type\"\n [facetTitle]=\"facet.mo.Title | bbbTranslate\"\n [subtitle]=\"facet.mo.SubTitle | facetValue | bbbTranslate\"\n >\n @for (item of facet.mo.ItemList?.MoDataList; track item) {\n <fd-facet-content>\n <label fd-form-label [colon]=\"true\" for=\"form-value-10\">{{ item.Title }}</label>\n <fd-text [text]=\"item.Value | facetValue\" id=\"form-value-10\"></fd-text>\n </fd-facet-content>\n } @if ( !facet.mo.IsNumber && facet.type === 'key-value' && !facet.mo.Component?.Selector) {\n <span\n fd-object-status\n [status]=\"facet.mo.Status | facetValue\"\n [label]=\"facet.mo.Component?.Selector ? '' : (facet.mo.Text | facetValue)\"\n [large]=\"facet.mo.IsLarge\"\n [title]=\"facet.mo.Text | facetValue\"\n [aria-label]=\"facet.mo.Text | facetValue\"\n [glyph]=\"facet.mo.Icon\"\n >\n </span>\n } @else {\n <bnrc-dynamic-component\n [class]=\"'fd-object-status fd-object-status--' + facet.mo.Status | facetValue\"\n [class.fd-object-status--large]=\"facet.mo.IsLarge\"\n [component]=\"facet.mo.Component\"\n [value]=\"facet.mo.Text\"\n ></bnrc-dynamic-component>\n } @if (facet.mo.IsNumber && facet.type === 'key-value') {\n <fd-object-number\n [number]=\"facet.mo.Text | facetValue\"\n [large]=\"facet.mo.IsLarge\"\n [unit]=\"facet.mo.Unit | facetValue\"\n [status]=\"facet.mo.Status | facetValue\"\n [decimal]=\"facet.mo.DecimalValue | facetValue\"\n ></fd-object-number>\n } @if (facet.type === 'plain-text') {\n <div [style.width.px]=\"facet.mo.Width\" style=\"white-space: normal\">\n <fd-text [text]=\"facet.mo.Text | facetValue\" hyphenation=\"auto\"></fd-text>\n </div>\n } @if (facet.type === 'rating-indicator') {\n <fd-facet-content>\n <fd-rating-indicator\n style=\"pointer-events: none\"\n size=\"md\"\n [dynamicTextIndicator]=\"facet.mo.Footer\"\n [displayMode]=\"true\"\n [value]=\"facet.mo | facetValue: facet.type\"\n ></fd-rating-indicator>\n </fd-facet-content>\n } @if (facet.type === 'progress') {\n <div [style.width]=\"'10rem'\">\n <!-- <span fd-form-label>{{ facet.mo.Subtitle | facetValue }}</span> -->\n <fd-progress-indicator\n style=\"width: 10r em\"\n [state]=\"facet.mo.State\"\n [valueText]=\"(facet.mo | facetValue: facet.type) + ' \u0627\u0632 10 \u0645\u0631\u062D\u0644\u0647'\"\n [valueNow]=\"facet.mo | facetValue: facet.type\"\n [valueMax]=\"10\"\n [unit]=\"'\u0645\u0631\u062D\u0644\u0647'\"\n ></fd-progress-indicator>\n <!-- <ui5-progress-indicator\n style=\"width: 10rem\"\n [valueState]=\"facet.mo.State\"\n [value]=\"getNumber(facet.mo.Value)\"\n ></ui5-progress-indicator> -->\n </div>\n } @if (facet.type === 'microcharts') {\n <div>\n <label wrap>in progress ...</label>\n </div>\n }\n </fd-facet>\n }\n </fd-facet-group>\n @if (description) {\n <span>{{ description }}</span>\n }\n </fd-dynamic-page-subheader>\n @if(!parameters?.LayoutComponent && !modernTabs.length && !contentIsPage){\n <fd-dynamic-page-content [class.limit-content-width]=\"formContentMaxWidth > 0\">\n <fd-layout-grid style=\"min-height: 100%\" [style.max-width.px]=\"formContentMaxWidth\">\n <div fdLayoutGridRow>\n <div\n style=\"padding: 0\"\n [fdLayoutGridCol]=\"0\"\n [colMd]=\"layout1.colMd\"\n [colLg]=\"layout1.colLg\"\n [colXl]=\"layout1.colXl\"\n ></div>\n <div style=\"min-height: 100%\" [fdLayoutGridCol]=\"12\" [colMd]=\"colMd\" [colLg]=\"colLg\" [colXl]=\"colXl\">\n <ng-container\n *ngTemplateOutlet=\"\n parameters?.LayoutComponent ? renderLayoutComponent : renderDefaultLayout;\n context: {\n $implicit: parameters?.LayoutComponent,\n layout94: layout94\n }\n \"\n ></ng-container>\n </div>\n <div\n style=\"padding: 0\"\n [fdLayoutGridCol]=\"0\"\n [colMd]=\"layout2.colMd\"\n [colLg]=\"layout2.colLg\"\n [colXl]=\"layout2.colXl\"\n ></div>\n </div>\n </fd-layout-grid>\n </fd-dynamic-page-content>\n } @else if(modernTabs.length && !contentIsPage && !parameters?.LayoutComponent){\n <fdp-icon-tab-bar [stackContent]=\"false\" [collapseOverflow]=\"true\" [expandOverflowText]=\"'More' | bbbTranslate\">\n @for (tab of modernTabs; track tab.Title; let i = $index) {\n\n <fdp-icon-tab-bar-tab\n [id]=\"tab.id\"\n [label]=\"tab.Title!! | bbbTranslate\"\n [title]=\"tab.Title!! | bbbTranslate\"\n [class.is-expanded]=\"selectedTab === tab.Title\"\n #tablist\n >\n <fd-dynamic-page-content [id]=\"tab.id\" [class.limit-content-width]=\"formContentMaxWidth > 0\" cdkScrollable>\n <fd-layout-grid [style.max-width.px]=\"formContentMaxWidth\">\n <div fdLayoutGridRow>\n <div\n [fdLayoutGridCol]=\"0\"\n [colMd]=\"layout1.colMd\"\n [colLg]=\"layout1.colLg\"\n [colXl]=\"layout1.colXl\"\n ></div>\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"colMd\" [colLg]=\"colLg\" [colXl]=\"colXl\">\n <bsu-ly-tab-page [config]=\"tab\"></bsu-ly-tab-page>\n </div>\n <div\n [fdLayoutGridCol]=\"0\"\n [colMd]=\"layout2.colMd\"\n [colLg]=\"layout2.colLg\"\n [colXl]=\"layout2.colXl\"\n ></div>\n </div>\n </fd-layout-grid>\n </fd-dynamic-page-content>\n </fdp-icon-tab-bar-tab>\n }\n </fdp-icon-tab-bar>\n } @if(!hideFooter){\n <fd-dynamic-page-footer>\n <bsu-layout-actions\n [canSend]=\"canSend\"\n [buttons]=\"layoutActions\"\n [isMobile]=\"isMobile\"\n [landscape]=\"landscape\"\n [standalone]=\"standalone\"\n [footerDesign]=\"footerDesign\"\n [workflowButtons]=\"workflowButtons\"\n [workflowButtonsComboMode]=\"workflowButtonsComboMode || worfklowButtonsOnFooter\"\n [deviceSize]=\"deviceSize\"\n [rtl]=\"rtl\"\n (toolClick)=\"toolbarClick.emit($event)\"\n (workflowChoiceSelect)=\"onWfChoiceSelect($event)\"\n >\n </bsu-layout-actions>\n </fd-dynamic-page-footer>\n }\n</fd-dynamic-page>\n@if (contentIsPage) {\n<ng-container\n *ngTemplateOutlet=\"\n renderLayoutComponent;\n context: {\n $implicit: parameters?.LayoutComponent,\n layout94: layout94\n }\n \"\n></ng-container>\n}\n<ng-template #renderDefaultLayout let-layout94=\"layout94\">\n <bsu-ly-layout-container-of-root\n [config]=\"layout94\"\n [isPanel]=\"false\"\n [isRoot]=\"true\"\n ></bsu-ly-layout-container-of-root>\n</ng-template>\n<ng-template #renderLayoutComponent let-component let-layout94=\"layout94\">\n <bnrc-dynamic-form-component\n [component]=\"component\"\n [removeContentPadding]=\"removeContentPadding\"\n [breadCrumbs]=\"breadCrumbs\"\n [description]=\"description\"\n [title]=\"title\"\n [subtitle]=\"subtitle\"\n [toolbarItems]=\"toolbarItems\"\n [layoutActions]=\"layoutActions\"\n [footerDesign]=\"footerDesign\"\n [facetList]=\"facetList\"\n [settings]=\"component.Settings\"\n [workflowButtons]=\"workflowButtons\"\n [workflowPanelUi]=\"workflowPanelUi\"\n [isMobile]=\"isMobile\"\n [mo]=\"mo\"\n [layout94]=\"layout94\"\n [context]=\"context\"\n [rtl]=\"rtl\"\n [fieldDict]=\"fieldDict\"\n [mask]=\"mask\"\n [dirValue]=\"dirValue\"\n [deviceSize]=\"deviceSize\"\n [contentDensity]=\"contentDensity\"\n [modernTabs]=\"modernTabs\"\n [avatar]=\"avatar\"\n (events)=\"onDynamicComponentEvents($event)\"\n ></bnrc-dynamic-form-component>\n</ng-template>\n<ng-template #closeForm>\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" (click)=\"close.emit()\" title=\"Close\">\n <i [class]=\"'sap-icon--' + (isMobile ? (rtl ? 'arrow-right' : 'arrow-left') : 'decline')\"></i>\n </button>\n</ng-template>\n<ng-template #fullscreenForm>\n @if (canFullscreen) {\n <button\n fd-button\n fdType=\"transparent\"\n [attr.aria-label]=\"fullscreen ? 'exit fullscreen' : 'fullscreen'\"\n (click)=\"fullscreenRequest.emit()\"\n [title]=\"fullscreen ? 'exit fullscreen' : 'fullscreen'\"\n [glyph]=\"fullscreen ? 'exitfullscreen' : 'resize'\"\n ></button>\n }\n</ng-template>\n", styles: [":host{display:block;height:auto;width:100%}:host ::ng-deep fd-dynamic-page[contentIsPage=true] .fd-dynamic-page{height:auto!important}:host ::ng-deep .fd-progress-indicator__container,:host ::ng-deep .fd-progress-indicator__progress-bar{height:1.5rem}:host ::ng-deep fd-facet .fd-object-status--large{font-size:1.1rem}.no-toolbar-items ::ng-deep .fd-dynamic-page__toolbar-container{width:auto}fd-dynamic-page ::ng-deep>article>fd-tab-list>.fd-tabs__content fd-tab.is-expanded{min-height:100%;display:flex}fd-dynamic-page ::ng-deep>article>fd-tab-list>.fd-tabs__content fd-tab.is-expanded>fd-dynamic-page-content{min-height:100%;overflow:hidden}fd-dynamic-page ::ng-deep>article>fd-tab-list>.fd-tabs__content fd-tab.is-expanded bsu-ly-layout-container-of-root{min-height:100%}fd-dynamic-page fd-dynamic-page-content.limit-content-width{display:flex;justify-content:center}fd-facet{display:flex;flex-direction:column}.hide-title ::ng-deep .fd-dynamic-page__title-container{display:none!important}.no-pin ::ng-deep .fd-dynamic-page__collapsible-header-visibility-container{display:none!important}fd-toolbar.firefox ::ng-deep .fd-toolbar{flex-direction:row-reverse}fd-toolbar.firefox ::ng-deep .fd-toolbar>:first-child{margin-right:5px}\n"] }]
|
|
105
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { _dynamicPageComponent: [{
|
|
106
|
-
type: ViewChild,
|
|
107
|
-
args: [DynamicPageComponent, { static: true }]
|
|
108
|
-
}], _toolbarComponent: [{
|
|
109
|
-
type: ViewChild,
|
|
110
|
-
args: ['formToolbar']
|
|
111
|
-
}], toolbarClick: [{
|
|
112
|
-
type: Output
|
|
113
|
-
}], workflowChoiceClick: [{
|
|
114
|
-
type: Output
|
|
115
|
-
}], close: [{
|
|
116
|
-
type: Output
|
|
117
|
-
}], fullscreenRequest: [{
|
|
118
|
-
type: Output
|
|
119
|
-
}], breadCrumbs: [{
|
|
120
|
-
type: Input
|
|
121
|
-
}], toolbarVisible: [{
|
|
122
|
-
type: Input
|
|
123
|
-
}], toolbarItems: [{
|
|
124
|
-
type: Input
|
|
125
|
-
}], layoutActions: [{
|
|
126
|
-
type: Input
|
|
127
|
-
}], layout94: [{
|
|
128
|
-
type: Input
|
|
129
|
-
}], parameters: [{
|
|
130
|
-
type: Input
|
|
131
|
-
}], workflowPanelUi: [{
|
|
132
|
-
type: Input
|
|
133
|
-
}], context: [{
|
|
134
|
-
type: Input
|
|
135
|
-
}], title: [{
|
|
136
|
-
type: Input
|
|
137
|
-
}], subtitle: [{
|
|
138
|
-
type: Input
|
|
139
|
-
}], description: [{
|
|
140
|
-
type: Input
|
|
141
|
-
}], facetList: [{
|
|
142
|
-
type: Input
|
|
143
|
-
}], fieldDict: [{
|
|
144
|
-
type: Input
|
|
145
|
-
}], removeHeaderBorder: [{
|
|
146
|
-
type: Input
|
|
147
|
-
}], removeContentPadding: [{
|
|
148
|
-
type: Input
|
|
149
|
-
}], isMobile: [{
|
|
150
|
-
type: Input
|
|
151
|
-
}], mo: [{
|
|
152
|
-
type: Input
|
|
153
|
-
}], avatar: [{
|
|
154
|
-
type: Input
|
|
155
|
-
}], circleAvatar: [{
|
|
156
|
-
type: Input
|
|
157
|
-
}], rtl: [{
|
|
158
|
-
type: Input
|
|
159
|
-
}], hideFooter: [{
|
|
160
|
-
type: Input
|
|
161
|
-
}], hideTitle: [{
|
|
162
|
-
type: Input
|
|
163
|
-
}], hideClose: [{
|
|
164
|
-
type: Input
|
|
165
|
-
}], hidePin: [{
|
|
166
|
-
type: Input
|
|
167
|
-
}], fullscreen: [{
|
|
168
|
-
type: Input
|
|
169
|
-
}], mask: [{
|
|
170
|
-
type: Input
|
|
171
|
-
}], canSend: [{
|
|
172
|
-
type: Input
|
|
173
|
-
}], contentIsPage: [{
|
|
174
|
-
type: Input
|
|
175
|
-
}], contentDensity: [{
|
|
176
|
-
type: Input
|
|
177
|
-
}], deviceSize: [{
|
|
178
|
-
type: Input
|
|
179
|
-
}], dirValue: [{
|
|
180
|
-
type: Input
|
|
181
|
-
}], landscape: [{
|
|
182
|
-
type: Input
|
|
183
|
-
}], standalone: [{
|
|
184
|
-
type: Input
|
|
185
|
-
}], modernTabs: [{
|
|
186
|
-
type: Input
|
|
187
|
-
}], formVisibilityStatus: [{
|
|
188
|
-
type: Input
|
|
189
|
-
}], layoutGridCol: [{
|
|
190
|
-
type: Input
|
|
191
|
-
}], colLg: [{
|
|
192
|
-
type: Input
|
|
193
|
-
}], colXl: [{
|
|
194
|
-
type: Input
|
|
195
|
-
}], colMd: [{
|
|
196
|
-
type: Input
|
|
197
|
-
}], footerDesign: [{
|
|
198
|
-
type: Input
|
|
199
|
-
}], formContentMaxWidth: [{
|
|
200
|
-
type: Input
|
|
201
|
-
}], titleRef: [{
|
|
202
|
-
type: ViewChild,
|
|
203
|
-
args: ['titleRef', { read: ViewContainerRef }]
|
|
204
|
-
}], headerAvatarRef: [{
|
|
205
|
-
type: ViewChild,
|
|
206
|
-
args: ['headerAvatar']
|
|
207
|
-
}], closeFormTemplate: [{
|
|
208
|
-
type: ViewChild,
|
|
209
|
-
args: ['closeForm', { static: true }]
|
|
210
|
-
}], workflowButtons: [{
|
|
211
|
-
type: Input
|
|
212
|
-
}] } });
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZGFtZW50YWwtZHluYW1pYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2Z1bmRhbWVudGFsLWR5bmFtaWMtZm9ybS9mdW5kYW1lbnRhbC1keW5hbWljLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvZnVuZGFtZW50YWwtZHluYW1pYy1mb3JtL2Z1bmRhbWVudGFsLWR5bmFtaWMtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFHTixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBaUMsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU1RixPQUFPLEVBQ0gsYUFBYSxFQUliLFNBQVMsRUFFWixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE9BQU8sRUFBaUIsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUWhFLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxhQUFhO0lBOEQ5RCxZQUFtQixFQUFjO1FBQzdCLEtBQUssRUFBRSxDQUFDO1FBRE8sT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQTNEdkIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3ZDLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDeEQsb0JBQW9CO1FBQ1YsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDM0Isc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQXNCeEMsY0FBUyxHQUFHLElBQUksQ0FBQztRQTBCMUIsMEJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLDRCQUF1QixHQUFHLEtBQUssQ0FBQztJQVFoQyxDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxTQUFTLEtBQUssRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDO1FBQzFFLGtFQUFrRTtRQUNsRSxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM5QyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSx1QkFBdUIsQ0FBQztRQUN4RSwwQ0FBMEM7UUFFMUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLGFBQWEsS0FBSyxJQUFJLENBQUM7UUFDN0QsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQzVHLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxHQUFHLElBQUksbUJBQW1CLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQztRQUN0QyxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksbUJBQW1CLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUM7WUFDdEMsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIscUJBQXFCO1FBQ3JCLHVEQUF1RDtRQUN2RCxNQUFNO0lBQ1YsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixNQUFNLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDekMsSUFDSSxvQkFBb0I7WUFDcEIsQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXO1lBQ2pDLG9CQUFvQixDQUFDLFlBQVksS0FBSyxTQUFTLEVBQ2pELENBQUM7WUFDQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsV0FBVyxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLHNCQUFzQixFQUFFLENBQUM7UUFDckQsQ0FBQztJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxRQUFRO1FBQ3JCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUNELFlBQVksQ0FBQyxHQUFtQjtRQUM1QixJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7SUFDakMsQ0FBQztJQUNELFNBQVMsQ0FBQyxHQUFHO1FBQ1QsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUNELHdCQUF3QixDQUFDLENBQUM7UUFDdEIsUUFBUSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZCxLQUFLLGNBQWM7Z0JBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMvQixNQUFNO1lBQ1YsS0FBSyxzQkFBc0I7Z0JBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzlCLE1BQU07UUFDZCxDQUFDO0lBQ0wsQ0FBQztJQUNELGFBQWE7UUFDVCxJQUFJLENBQUMsT0FBTyxHQUFHLGlCQUFpQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxPQUFPLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEYsQ0FBQzsrR0E3SFEsK0JBQStCO21HQUEvQiwrQkFBK0IsbzJDQUM3QixvQkFBb0IsbU9BZ0RBLGdCQUFnQiwwUkNsRm5ELCtuZEE0VUE7OzRGRDNTYSwrQkFBK0I7a0JBTjNDLFNBQVM7K0JBQ0ksOEJBQThCLG1CQUd2Qix1QkFBdUIsQ0FBQyxNQUFNOytFQUdJLHFCQUFxQjtzQkFBdkUsU0FBUzt1QkFBQyxvQkFBb0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ3ZCLGlCQUFpQjtzQkFBMUMsU0FBUzt1QkFBQyxhQUFhO2dCQUNkLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csbUJBQW1CO3NCQUE1QixNQUFNO2dCQUVHLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0UsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUM2QyxRQUFRO3NCQUExRCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtnQkFDdEIsZUFBZTtzQkFBekMsU0FBUzt1QkFBQyxjQUFjO2dCQUNpQixpQkFBaUI7c0JBQTFELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDL0IsZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXJEZXNpZ25UeXBlLCBDb250ZW50RGVuc2l0eSwgRHluYW1pY1BhZ2VDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuXG5pbXBvcnQge1xuICAgIEJhc2VDb21wb25lbnQsXG4gICAgQnJlYWRDcnVtYkluZm8sXG4gICAgTWV0YW9iamVjdERhdGFNb2RlbCxcbiAgICBMYXlvdXRTZXR0aW5nLFxuICAgIGlzRmlyZWZveCxcbiAgICBGb3JtVmlzaWJpbGl0eVN0YXR1c1xufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5pbXBvcnQgeyBGb3JtVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0tdG9vbGJhci9mb3JtLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1MYXlvdXRDb2wsIEdldEZvcm1MYXlvdXRHcmlkIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEljb25UYWJCYXJJdGVtIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybSc7XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS1mdW5kYW1lbnRhbC1keW5hbWljLWZvcm0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mdW5kYW1lbnRhbC1keW5hbWljLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Z1bmRhbWVudGFsLWR5bmFtaWMtZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEZ1bmRhbWVudGFsRHluYW1pY0Zvcm1Db21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIEBWaWV3Q2hpbGQoRHluYW1pY1BhZ2VDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIF9keW5hbWljUGFnZUNvbXBvbmVudDogRHluYW1pY1BhZ2VDb21wb25lbnQ7XG4gICAgQFZpZXdDaGlsZCgnZm9ybVRvb2xiYXInKSBfdG9vbGJhckNvbXBvbmVudDogRm9ybVRvb2xiYXJDb21wb25lbnQ7XG4gICAgQE91dHB1dCgpIHRvb2xiYXJDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSB3b3JrZmxvd0Nob2ljZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgLyogZXNsaW50LWRpc2FibGUgKi9cbiAgICBAT3V0cHV0KCkgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIGZ1bGxzY3JlZW5SZXF1ZXN0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBJbnB1dCgpIGJyZWFkQ3J1bWJzOiBCcmVhZENydW1iSW5mb1tdIHwgbnVsbDtcbiAgICBASW5wdXQoKSB0b29sYmFyVmlzaWJsZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSB0b29sYmFySXRlbXM6IGFueVtdO1xuICAgIEBJbnB1dCgpIGxheW91dEFjdGlvbnM6IGFueVtdO1xuICAgIEBJbnB1dCgpIGxheW91dDk0O1xuICAgIEBJbnB1dCgpIHBhcmFtZXRlcnM6IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgQElucHV0KCkgd29ya2Zsb3dQYW5lbFVpOiBhbnk7XG4gICAgQElucHV0KCkgY29udGV4dDogYW55O1xuICAgIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG4gICAgQElucHV0KCkgc3VidGl0bGU6IHN0cmluZztcbiAgICBASW5wdXQoKSBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGZhY2V0TGlzdDogYW55W107XG4gICAgQElucHV0KCkgZmllbGREaWN0OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHwgdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHJlbW92ZUhlYWRlckJvcmRlcjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSByZW1vdmVDb250ZW50UGFkZGluZzogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpc01vYmlsZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBtbzogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICBASW5wdXQoKSBhdmF0YXI6IGFueTtcbiAgICBASW5wdXQoKSBjaXJjbGVBdmF0YXI6IGJvb2xlYW47XG4gICAgQElucHV0KCkgcnRsOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGhpZGVGb290ZXI6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaGlkZVRpdGxlID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBoaWRlQ2xvc2U6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaGlkZVBpbjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBmdWxsc2NyZWVuOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG1hc2s6IGJvb2xlYW47XG4gICAgQElucHV0KCkgY2FuU2VuZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBjb250ZW50SXNQYWdlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGNvbnRlbnREZW5zaXR5OiBDb250ZW50RGVuc2l0eTtcbiAgICBASW5wdXQoKSBkZXZpY2VTaXplOiAncycgfCAnbScgfCAnbCcgfCAneGwnO1xuICAgIEBJbnB1dCgpIGRpclZhbHVlOiAncnRsJyB8ICdsdHInO1xuICAgIEBJbnB1dCgpIGxhbmRzY2FwZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBzdGFuZGFsb25lOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG1vZGVyblRhYnM6IExheW91dFNldHRpbmdbXTtcbiAgICBASW5wdXQoKSBmb3JtVmlzaWJpbGl0eVN0YXR1czogRm9ybVZpc2liaWxpdHlTdGF0dXM7XG4gICAgQElucHV0KCkgbGF5b3V0R3JpZENvbDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGNvbExnOiBudW1iZXI7XG4gICAgQElucHV0KCkgY29sWGw6IG51bWJlcjtcbiAgICBASW5wdXQoKSBjb2xNZDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGZvb3RlckRlc2lnbjogQmFyRGVzaWduVHlwZTtcbiAgICBASW5wdXQoKSBmb3JtQ29udGVudE1heFdpZHRoOiBudW1iZXI7XG4gICAgQFZpZXdDaGlsZCgndGl0bGVSZWYnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgdGl0bGVSZWY6IFZpZXdDb250YWluZXJSZWY7XG4gICAgQFZpZXdDaGlsZCgnaGVhZGVyQXZhdGFyJykgaGVhZGVyQXZhdGFyUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBWaWV3Q2hpbGQoJ2Nsb3NlRm9ybScsIHsgc3RhdGljOiB0cnVlIH0pIGNsb3NlRm9ybVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBJbnB1dCgpIHdvcmtmbG93QnV0dG9uczogYW55W107XG4gICAgc2VsZWN0ZWRUYWI6IGFueTtcbiAgICBjYW5GdWxsc2NyZWVuOiBib29sZWFuO1xuICAgIHRvb2xiYXJTaG91bGRPdmVyZmxvdyA9IGZhbHNlO1xuICAgIHdvcmZrbG93QnV0dG9uc09uRm9vdGVyID0gZmFsc2U7XG4gICAgd29ya2Zsb3dJbmZvVGV4dDogc3RyaW5nO1xuICAgIHdvcmtmbG93QnV0dG9uc0NvbWJvTW9kZTogYm9vbGVhbjtcbiAgICBpc0ZpcmVmb3g6IGJvb2xlYW47XG4gICAgbGF5b3V0MTogRm9ybUxheW91dENvbDtcbiAgICBsYXlvdXQyOiBGb3JtTGF5b3V0Q29sO1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbDogRWxlbWVudFJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLmlzRmlyZWZveCA9IGlzRmlyZWZveCgpO1xuICAgICAgICB0aGlzLmZhY2V0TGlzdCB8fD0gW107XG4gICAgICAgIHRoaXMud29ya2Zsb3dJbmZvVGV4dCA9IHRoaXMud29ya2Zsb3dQYW5lbFVpPy5TZXR0aW5nPy5Xb3JrZmxvdz8uSW5mb1RleHQ7XG4gICAgICAgIC8vIGNvbnN0IHdvcmtmbG93QnV0dG9ucyA9IHRoaXMud29ya2Zsb3dQYW5lbFVpPy5idXR0b25MaXN0ID8/IFtdO1xuICAgICAgICB0aGlzLndvcmtmbG93QnV0dG9uc0NvbWJvTW9kZSA9IHRoaXMuaXNNb2JpbGU7XG4gICAgICAgIHRoaXMud29yZmtsb3dCdXR0b25zT25Gb290ZXIgPSB0aGlzLnBhcmFtZXRlcnM/LldvcmtmbG93QnV0dG9uc09uRm9vdGVyO1xuICAgICAgICAvLyB0aGlzLndvcmtmbG93QnV0dG9ucyA9IHdvcmtmbG93QnV0dG9ucztcblxuICAgICAgICB0aGlzLmNhbkZ1bGxzY3JlZW4gPSB0aGlzLnBhcmFtZXRlcnM/LkNhbkZ1bGxzY3JlZW4gPT09IHRydWU7XG4gICAgICAgIGNvbnN0IHRvb2xiYXJCdXR0b25zQ291bnQgPSB0aGlzLnRvb2xiYXJJdGVtcy5maWx0ZXIoKGMpID0+IHR5cGVvZiBjICE9PSAnc3RyaW5nJyAmJiBjLnRleHQgIT09ICctJykubGVuZ3RoO1xuICAgICAgICBpZiAodGhpcy5kZXZpY2VTaXplID09PSAncycgJiYgdG9vbGJhckJ1dHRvbnNDb3VudCA+IDEpIHtcbiAgICAgICAgICAgIHRoaXMudG9vbGJhclNob3VsZE92ZXJmbG93ID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0b29sYmFyQnV0dG9uc0NvdW50ID4gNSkge1xuICAgICAgICAgICAgICAgIHRoaXMudG9vbGJhclNob3VsZE92ZXJmbG93ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9oYW5sZGVMYXlvdXQoKTtcbiAgICAgICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIC8vICAgICB0aGlzLl90YWJMaXN0Q29tcG9uZW50Ll9kaXNhYmxlU2Nyb2xsU3B5ID0gdHJ1ZTtcbiAgICAgICAgLy8gfSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IGZvcm1WaXNpYmlsaXR5U3RhdHVzIH0gPSBjaGFuZ2VzO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICBmb3JtVmlzaWJpbGl0eVN0YXR1cyAmJlxuICAgICAgICAgICAgIWZvcm1WaXNpYmlsaXR5U3RhdHVzLmZpcnN0Q2hhbmdlICYmXG4gICAgICAgICAgICBmb3JtVmlzaWJpbGl0eVN0YXR1cy5jdXJyZW50VmFsdWUgPT09ICdWaXNpYmxlJ1xuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuX2R5bmFtaWNQYWdlQ29tcG9uZW50Py5yZWZyZXNoU2l6ZSgpO1xuICAgICAgICAgICAgdGhpcy5fdG9vbGJhckNvbXBvbmVudD8udXBkYXRlQ29sbGFwc2libGVJdGVtcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25XZkNob2ljZVNlbGVjdCh3ZkNob2ljZSk6IHZvaWQge1xuICAgICAgICB0aGlzLndvcmtmbG93Q2hvaWNlQ2xpY2suZW1pdCh3ZkNob2ljZSk7XG4gICAgfVxuICAgIG9uVGFiQ2hhbmdlZCh0YWI6IEljb25UYWJCYXJJdGVtKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSB0YWIubGFiZWw7XG4gICAgfVxuICAgIGdldE51bWJlcih2YWwpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTnVtYmVyKHZhbCk7XG4gICAgfVxuICAgIG9uRHluYW1pY0NvbXBvbmVudEV2ZW50cyhlKSB7XG4gICAgICAgIHN3aXRjaCAoZS50aXRsZSkge1xuICAgICAgICAgICAgY2FzZSAndG9vbGJhckNsaWNrJzpcbiAgICAgICAgICAgICAgICB0aGlzLnRvb2xiYXJDbGljay5lbWl0KGUuZGF0YSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICd3b3JrZmxvd0Nob2ljZVNlbGVjdCc6XG4gICAgICAgICAgICAgICAgdGhpcy5vbldmQ2hvaWNlU2VsZWN0KGUuZGF0YSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgX2hhbmxkZUxheW91dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sYXlvdXQxID0gR2V0Rm9ybUxheW91dEdyaWQodHJ1ZSwgdGhpcy5jb2xYbCwgdGhpcy5jb2xMZywgdGhpcy5jb2xNZCk7XG4gICAgICAgIHRoaXMubGF5b3V0MiA9IEdldEZvcm1MYXlvdXRHcmlkKGZhbHNlLCB0aGlzLmNvbFhsLCB0aGlzLmNvbExnLCB0aGlzLmNvbE1kKTtcbiAgICB9XG59XG4iLCJAaWYgKG1hc2spIHtcbjxkaXYgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJVwiPlxuICAgIDxic3UtbWFzayBzaXplPVwibVwiPjwvYnN1LW1hc2s+XG48L2Rpdj5cbn1cblxuPGZkLWR5bmFtaWMtcGFnZVxuICAgIFtzaXplXT1cImlzTW9iaWxlID8gJ3NtYWxsJyA6ICdsYXJnZSdcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ2Zsb2F0aW5nLWZvb3Rlcic6IGZvb3RlckRlc2lnbiA9PT0gJ2Zsb2F0aW5nLWZvb3RlcicgfVwiXG4gICAgW2NsYXNzLmhlYWRlci1ib3JkZXJdPVwiIXJlbW92ZUhlYWRlckJvcmRlclwiXG4gICAgW2F0dHIuaXNNb2JpbGVdPVwiaXNNb2JpbGVcIlxuICAgIFthdHRyLmNvbnRlbnRJc1BhZ2VdPVwiY29udGVudElzUGFnZVwiXG4gICAgbW9iaWxlXG4gICAgZm9ybUNsb3NlXG4gICAgW2lzTW9iaWxlXT1cImlzTW9iaWxlXCJcbj5cbiAgICA8ZmQtZHluYW1pYy1wYWdlLWhlYWRlclxuICAgICAgICBbY2xhc3Muc2ltcGxlLXRpdGxlXT1cIiFkZXNjcmlwdGlvblwiXG4gICAgICAgIFt0aXRsZV09XCIoaGlkZVRpdGxlID09PSB0cnVlID8gJycgOiB0aXRsZSkgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICBbY2xhc3MucC1iMF09XCJyZW1vdmVDb250ZW50UGFkZGluZ1wiXG4gICAgICAgIFtjbGFzcy5oaWRlLXRpdGxlXT1cImhpZGVUaXRsZSA9PT0gdHJ1ZSAmJiBoaWRlQ2xvc2UgPT09IHRydWVcIlxuICAgICAgICBbY2xhc3Mubm8tdG9vbGJhci1pdGVtc109XCIhKHRvb2xiYXJJdGVtcyB8IGZpbHRlcldvcmtmbG93SW5Nb2JpbGU6IHdvcmZrbG93QnV0dG9uc09uRm9vdGVyKT8ubGVuZ3RoXCJcbiAgICAgICAgI3RpdGxlUmVmXG4gICAgPlxuICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWJyZWFkY3J1bWIgW2NsYXNzLmhpZGVdPVwiaXNNb2JpbGVcIj5cbiAgICAgICAgICAgIDxmZC1icmVhZGNydW1iPlxuICAgICAgICAgICAgICAgIEBpZiAoYnJlYWRDcnVtYnMgJiYgIWlzTW9iaWxlKSB7IEBmb3IgKGJyZWFkQ3J1bWIgb2YgYnJlYWRDcnVtYnMgfCBzbGljZTogMDpicmVhZENydW1icy5sZW5ndGg7IHRyYWNrXG4gICAgICAgICAgICAgICAgYnJlYWRDcnVtYi51cmw7IGxldCBpID0gJGluZGV4OyBsZXQgbGFzdCA9ICRsYXN0KSB7XG4gICAgICAgICAgICAgICAgPGZkLWJyZWFkY3J1bWItaXRlbT5cbiAgICAgICAgICAgICAgICAgICAgPGJzdS1icmVhZGNydW1iXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5kZXhdPVwiaVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaXNMYXN0XT1cImxhc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2JyZWFkQ3J1bWJdPVwiYnJlYWRDcnVtYlwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYWxsQnJlYWRDcnVtYl09XCJicmVhZENydW1ic1wiXG4gICAgICAgICAgICAgICAgICAgID48L2JzdS1icmVhZGNydW1iPlxuICAgICAgICAgICAgICAgIDwvZmQtYnJlYWRjcnVtYi1pdGVtPlxuICAgICAgICAgICAgICAgIH0gfVxuICAgICAgICAgICAgPC9mZC1icmVhZGNydW1iPlxuICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1icmVhZGNydW1iPlxuICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWdsb2JhbC1hY3Rpb25zPlxuICAgICAgICAgICAgPCEtLSBnbG9iYWwgYWN0aW9ucyAtLT5cblxuICAgICAgICAgICAgPGZkLXRvb2xiYXIgW3Nob3VsZE92ZXJmbG93XT1cInRydWVcIiBTdHlsZT1cImRpc3BsYXk6bm9uZVwiPiA8L2ZkLXRvb2xiYXI+XG4gICAgICAgICAgICA8IS0tIGFkZGVkIHRoaXMgYmVjYXVzZSBpbiBtb2JpbGUgbGFuZHNjYXBlIHRvb2xiYXIgZGlzYXBwZXIgLS0+XG4gICAgICAgICAgICBAaWYgKHRvb2xiYXJWaXNpYmxlKSB7XG4gICAgICAgICAgICA8YnN1LWZvcm0tdG9vbGJhclxuICAgICAgICAgICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxuICAgICAgICAgICAgICAgIFtidXR0b25zXT1cInRvb2xiYXJJdGVtcyB8IGZpbHRlcldvcmtmbG93SW5Nb2JpbGU6IHdvcmZrbG93QnV0dG9uc09uRm9vdGVyXCJcbiAgICAgICAgICAgICAgICBbZGlyVmFsdWVdPVwiZGlyVmFsdWVcIlxuICAgICAgICAgICAgICAgIFtpc0ZpcmVmb3hdPVwiaXNGaXJlZm94XCJcbiAgICAgICAgICAgICAgICAodG9vbGJhckNsaWNrKT1cInRvb2xiYXJDbGljay5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICNmb3JtVG9vbGJhclxuICAgICAgICAgICAgPjwvYnN1LWZvcm0tdG9vbGJhcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtZ2xvYmFsLWFjdGlvbnM+XG4gICAgICAgIDxmZC1keW5hbWljLXBhZ2UtbGF5b3V0LWFjdGlvbnM+XG4gICAgICAgICAgICA8IS0tIGxheW91dCBhY3Rpb25zIC0tPlxuICAgICAgICAgICAgPCEtLSA8ZGl2IFtmb3JtQWN0aW9uc109XCJ0aGlzLnRvb2xiYXJcIj48L2Rpdj4gLS0+XG4gICAgICAgICAgICBAaWYgKCFoaWRlQ2xvc2UpIHtcbiAgICAgICAgICAgIDxmZC10b29sYmFyIGZkVHlwZT1cInRyYW5zcGFyZW50XCIgW2NsZWFyQm9yZGVyXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICBAaWYgKGRldmljZVNpemUgIT09ICdzJykge1xuICAgICAgICAgICAgICAgIDxmZC10b29sYmFyLXNlcGFyYXRvcj48L2ZkLXRvb2xiYXItc2VwYXJhdG9yPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZnVsbHNjcmVlbkZvcm1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2xvc2VGb3JtXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2ZkLXRvb2xiYXI+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWxheW91dC1hY3Rpb25zPlxuICAgIDwvZmQtZHluYW1pYy1wYWdlLWhlYWRlcj5cbiAgICBAaWYgKGRlc2NyaXB0aW9uIHx8IGZhY2V0TGlzdC5sZW5ndGggPiAwIHx8IHdvcmtmbG93SW5mb1RleHQgfHwgYXZhdGFyKSB7fVxuICAgIDxmZC1keW5hbWljLXBhZ2Utc3ViaGVhZGVyXG4gICAgICAgIFtjbGFzcy5oZWFkZXItbm8tZGVzY3JpcHRpb25dPVwiIShkZXNjcmlwdGlvbiB8fCB3b3JrZmxvd0luZm9UZXh0KVwiXG4gICAgICAgIFtjbGFzcy5uby1waW5dPVwiaGlkZVBpbiB8fCAoIWZhY2V0TGlzdD8ubGVuZ3RoICYmICF3b3JrZmxvd0luZm9UZXh0KVwiXG4gICAgICAgIFtjb2xsYXBzaWJsZV09XCJ0cnVlXCJcbiAgICAgICAgW3Bpbm5hYmxlXT1cImZhbHNlXCJcbiAgICAgICAgW2NvbGxhcHNlZF09XCIhZmFjZXRMaXN0Py5sZW5ndGggJiYgIXdvcmtmbG93SW5mb1RleHRcIlxuICAgID5cbiAgICAgICAgQGlmICh3b3JrZmxvd0luZm9UZXh0KSB7XG4gICAgICAgIDxmZC1tZXNzYWdlLXN0cmlwIFt0eXBlXT1cIid3YXJuaW5nJ1wiIFtkaXNtaXNzaWJsZV09XCJmYWxzZVwiPlxuICAgICAgICAgICAge3sgd29ya2Zsb3dJbmZvVGV4dCB8IGJiYlRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2ZkLW1lc3NhZ2Utc3RyaXA+XG4gICAgICAgIH1cbiAgICAgICAgPGZkLWZhY2V0LWdyb3VwIGFyaWFMYWJlbD1cIkZhY2V0IEdyb3VwXCI+XG4gICAgICAgICAgICBAaWYgKGF2YXRhcikge1xuICAgICAgICAgICAgPGZkLWZhY2V0IHR5cGU9XCJpbWFnZVwiPlxuICAgICAgICAgICAgICAgIDxmZC1hdmF0YXJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJhdmF0YXJcIlxuICAgICAgICAgICAgICAgICAgICBbZ2x5cGhdPVwiYXZhdGFyXCJcbiAgICAgICAgICAgICAgICAgICAgW2ltYWdlXT1cIiFhdmF0YXI/LkZpbGVJZCA/IG51bGwgOiAoYXZhdGFyPy5GaWxlSWQgfCBwaWNGaWVsZFNyYzogJ0lEJzpudWxsKVwiXG4gICAgICAgICAgICAgICAgICAgIFtzaXplXT1cImRldmljZVNpemUgPT09ICd4bCcgPyAnbCcgOiBkZXZpY2VTaXplXCJcbiAgICAgICAgICAgICAgICAgICAgW3RyYW5zcGFyZW50XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbY2lyY2xlXT1cImNpcmNsZUF2YXRhclwiXG4gICAgICAgICAgICAgICAgPjwvZmQtYXZhdGFyPlxuICAgICAgICAgICAgICAgIDwhLS0gPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmZC1hdmF0YXIgZmQtYXZhdGFyLS1jaXJjbGVcIlxuICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cIidmZC1hdmF0YXItLScgKyAoZGV2aWNlU2l6ZSA9PT0gJ3hsJyA/ICdsJyA6IGRldmljZVNpemUpXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiYXZhdGFyXCIgY2xhc3M9XCJmZC1hdmF0YXJfX2ljb25cIiBbY2xhc3NdPVwiYXZhdGFyIHwgc2FwRm9udENsYXNzXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPiA8L2k+XG4gICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxuICAgICAgICAgICAgPC9mZC1mYWNldD5cbiAgICAgICAgICAgIH0gQGZvciAoZmFjZXQgb2YgZmFjZXRMaXN0OyB0cmFjayBmYWNldCkge1xuICAgICAgICAgICAgPGZkLWZhY2V0XG4gICAgICAgICAgICAgICAgW3R5cGVdPVwiZmFjZXQudHlwZVwiXG4gICAgICAgICAgICAgICAgW2ZhY2V0VGl0bGVdPVwiZmFjZXQubW8uVGl0bGUgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFtzdWJ0aXRsZV09XCJmYWNldC5tby5TdWJUaXRsZSB8IGZhY2V0VmFsdWUgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgZmFjZXQubW8uSXRlbUxpc3Q/Lk1vRGF0YUxpc3Q7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgICAgICAgICA8ZmQtZmFjZXQtY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZkLWZvcm0tbGFiZWwgW2NvbG9uXT1cInRydWVcIiBmb3I9XCJmb3JtLXZhbHVlLTEwXCI+e3sgaXRlbS5UaXRsZSB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxmZC10ZXh0IFt0ZXh0XT1cIml0ZW0uVmFsdWUgfCBmYWNldFZhbHVlXCIgaWQ9XCJmb3JtLXZhbHVlLTEwXCI+PC9mZC10ZXh0PlxuICAgICAgICAgICAgICAgIDwvZmQtZmFjZXQtY29udGVudD5cbiAgICAgICAgICAgICAgICB9IEBpZiAoICFmYWNldC5tby5Jc051bWJlciAmJiBmYWNldC50eXBlID09PSAna2V5LXZhbHVlJyAmJiAhZmFjZXQubW8uQ29tcG9uZW50Py5TZWxlY3Rvcikge1xuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGZkLW9iamVjdC1zdGF0dXNcbiAgICAgICAgICAgICAgICAgICAgW3N0YXR1c109XCJmYWNldC5tby5TdGF0dXMgfCBmYWNldFZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImZhY2V0Lm1vLkNvbXBvbmVudD8uU2VsZWN0b3IgPyAnJyA6IChmYWNldC5tby5UZXh0IHwgZmFjZXRWYWx1ZSlcIlxuICAgICAgICAgICAgICAgICAgICBbbGFyZ2VdPVwiZmFjZXQubW8uSXNMYXJnZVwiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJmYWNldC5tby5UZXh0IHwgZmFjZXRWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFthcmlhLWxhYmVsXT1cImZhY2V0Lm1vLlRleHQgfCBmYWNldFZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgW2dseXBoXT1cImZhY2V0Lm1vLkljb25cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPGJucmMtZHluYW1pYy1jb21wb25lbnRcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cIidmZC1vYmplY3Qtc3RhdHVzIGZkLW9iamVjdC1zdGF0dXMtLScgKyBmYWNldC5tby5TdGF0dXMgfCBmYWNldFZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmZkLW9iamVjdC1zdGF0dXMtLWxhcmdlXT1cImZhY2V0Lm1vLklzTGFyZ2VcIlxuICAgICAgICAgICAgICAgICAgICBbY29tcG9uZW50XT1cImZhY2V0Lm1vLkNvbXBvbmVudFwiXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJmYWNldC5tby5UZXh0XCJcbiAgICAgICAgICAgICAgICA+PC9ibnJjLWR5bmFtaWMtY29tcG9uZW50PlxuICAgICAgICAgICAgICAgIH0gQGlmIChmYWNldC5tby5Jc051bWJlciAmJiBmYWNldC50eXBlID09PSAna2V5LXZhbHVlJykge1xuICAgICAgICAgICAgICAgIDxmZC1vYmplY3QtbnVtYmVyXG4gICAgICAgICAgICAgICAgICAgIFtudW1iZXJdPVwiZmFjZXQubW8uVGV4dCB8IGZhY2V0VmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICBbbGFyZ2VdPVwiZmFjZXQubW8uSXNMYXJnZVwiXG4gICAgICAgICAgICAgICAgICAgIFt1bml0XT1cImZhY2V0Lm1vLlVuaXQgfCBmYWNldFZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0YXR1c109XCJmYWNldC5tby5TdGF0dXMgfCBmYWNldFZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgW2RlY2ltYWxdPVwiZmFjZXQubW8uRGVjaW1hbFZhbHVlIHwgZmFjZXRWYWx1ZVwiXG4gICAgICAgICAgICAgICAgPjwvZmQtb2JqZWN0LW51bWJlcj5cbiAgICAgICAgICAgICAgICB9IEBpZiAoZmFjZXQudHlwZSA9PT0gJ3BsYWluLXRleHQnKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBbc3R5bGUud2lkdGgucHhdPVwiZmFjZXQubW8uV2lkdGhcIiBzdHlsZT1cIndoaXRlLXNwYWNlOiBub3JtYWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPGZkLXRleHQgW3RleHRdPVwiZmFjZXQubW8uVGV4dCB8IGZhY2V0VmFsdWVcIiBoeXBoZW5hdGlvbj1cImF1dG9cIj48L2ZkLXRleHQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfSBAaWYgKGZhY2V0LnR5cGUgPT09ICdyYXRpbmctaW5kaWNhdG9yJykge1xuICAgICAgICAgICAgICAgIDxmZC1mYWNldC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8ZmQtcmF0aW5nLWluZGljYXRvclxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJwb2ludGVyLWV2ZW50czogbm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwibWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2R5bmFtaWNUZXh0SW5kaWNhdG9yXT1cImZhY2V0Lm1vLkZvb3RlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzcGxheU1vZGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZmFjZXQubW8gfCBmYWNldFZhbHVlOiBmYWNldC50eXBlXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZmQtcmF0aW5nLWluZGljYXRvcj5cbiAgICAgICAgICAgICAgICA8L2ZkLWZhY2V0LWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgfSBAaWYgKGZhY2V0LnR5cGUgPT09ICdwcm9ncmVzcycpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IFtzdHlsZS53aWR0aF09XCInMTByZW0nXCI+XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPHNwYW4gZmQtZm9ybS1sYWJlbD57eyBmYWNldC5tby5TdWJ0aXRsZSB8IGZhY2V0VmFsdWUgfX08L3NwYW4+IC0tPlxuICAgICAgICAgICAgICAgICAgICA8ZmQtcHJvZ3Jlc3MtaW5kaWNhdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOiAxMHIgZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXRlXT1cImZhY2V0Lm1vLlN0YXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZVRleHRdPVwiKGZhY2V0Lm1vIHwgZmFjZXRWYWx1ZTogZmFjZXQudHlwZSkgKyAnINin2LIgMTAg2YXYsdit2YTZhydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlTm93XT1cImZhY2V0Lm1vIHwgZmFjZXRWYWx1ZTogZmFjZXQudHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVNYXhdPVwiMTBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3VuaXRdPVwiJ9mF2LHYrdmE2YcnXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZmQtcHJvZ3Jlc3MtaW5kaWNhdG9yPlxuICAgICAgICAgICAgICAgICAgICA8IS0tIDx1aTUtcHJvZ3Jlc3MtaW5kaWNhdG9yXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDEwcmVtXCJcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlU3RhdGVdPVwiZmFjZXQubW8uU3RhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZ2V0TnVtYmVyKGZhY2V0Lm1vLlZhbHVlKVwiXG4gICAgICAgICAgICAgICAgICA+PC91aTUtcHJvZ3Jlc3MtaW5kaWNhdG9yPiAtLT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9IEBpZiAoZmFjZXQudHlwZSA9PT0gJ21pY3JvY2hhcnRzJykge1xuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCB3cmFwPmluIHByb2dyZXNzIC4uLjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9mZC1mYWNldD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9mZC1mYWNldC1ncm91cD5cbiAgICAgICAgQGlmIChkZXNjcmlwdGlvbikge1xuICAgICAgICA8c3Bhbj57eyBkZXNjcmlwdGlvbiB9fTwvc3Bhbj5cbiAgICAgICAgfVxuICAgIDwvZmQtZHluYW1pYy1wYWdlLXN1YmhlYWRlcj5cbiAgICBAaWYoIXBhcmFtZXRlcnM/LkxheW91dENvbXBvbmVudCAmJiAhbW9kZXJuVGFicy5sZW5ndGggJiYgIWNvbnRlbnRJc1BhZ2Upe1xuICAgIDxmZC1keW5hbWljLXBhZ2UtY29udGVudCBbY2xhc3MubGltaXQtY29udGVudC13aWR0aF09XCJmb3JtQ29udGVudE1heFdpZHRoID4gMFwiPlxuICAgICAgICA8ZmQtbGF5b3V0LWdyaWQgc3R5bGU9XCJtaW4taGVpZ2h0OiAxMDAlXCIgW3N0eWxlLm1heC13aWR0aC5weF09XCJmb3JtQ29udGVudE1heFdpZHRoXCI+XG4gICAgICAgICAgICA8ZGl2IGZkTGF5b3V0R3JpZFJvdz5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPVwicGFkZGluZzogMFwiXG4gICAgICAgICAgICAgICAgICAgIFtmZExheW91dEdyaWRDb2xdPVwiMFwiXG4gICAgICAgICAgICAgICAgICAgIFtjb2xNZF09XCJsYXlvdXQxLmNvbE1kXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbExnXT1cImxheW91dDEuY29sTGdcIlxuICAgICAgICAgICAgICAgICAgICBbY29sWGxdPVwibGF5b3V0MS5jb2xYbFwiXG4gICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJtaW4taGVpZ2h0OiAxMDAlXCIgW2ZkTGF5b3V0R3JpZENvbF09XCIxMlwiIFtjb2xNZF09XCJjb2xNZFwiIFtjb2xMZ109XCJjb2xMZ1wiIFtjb2xYbF09XCJjb2xYbFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM/LkxheW91dENvbXBvbmVudCA/IHJlbmRlckxheW91dENvbXBvbmVudCA6IHJlbmRlckRlZmF1bHRMYXlvdXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IHBhcmFtZXRlcnM/LkxheW91dENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0OTQ6IGxheW91dDk0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJwYWRkaW5nOiAwXCJcbiAgICAgICAgICAgICAgICAgICAgW2ZkTGF5b3V0R3JpZENvbF09XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbE1kXT1cImxheW91dDIuY29sTWRcIlxuICAgICAgICAgICAgICAgICAgICBbY29sTGddPVwibGF5b3V0Mi5jb2xMZ1wiXG4gICAgICAgICAgICAgICAgICAgIFtjb2xYbF09XCJsYXlvdXQyLmNvbFhsXCJcbiAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9mZC1sYXlvdXQtZ3JpZD5cbiAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuICAgIH0gQGVsc2UgaWYobW9kZXJuVGFicy5sZW5ndGggJiYgIWNvbnRlbnRJc1BhZ2UgJiYgIXBhcmFtZXRlcnM/LkxheW91dENvbXBvbmVudCl7XG4gICAgPGZkcC1pY29uLXRhYi1iYXIgW3N0YWNrQ29udGVudF09XCJmYWxzZVwiIFtjb2xsYXBzZU92ZXJmbG93XT1cInRydWVcIiBbZXhwYW5kT3ZlcmZsb3dUZXh0XT1cIidNb3JlJyB8IGJiYlRyYW5zbGF0ZVwiPlxuICAgICAgICBAZm9yICh0YWIgb2YgbW9kZXJuVGFiczsgdHJhY2sgdGFiLlRpdGxlOyBsZXQgaSA9ICRpbmRleCkge1xuXG4gICAgICAgIDxmZHAtaWNvbi10YWItYmFyLXRhYlxuICAgICAgICAgICAgW2lkXT1cInRhYi5pZFwiXG4gICAgICAgICAgICBbbGFiZWxdPVwidGFiLlRpdGxlISEgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgW3RpdGxlXT1cInRhYi5UaXRsZSEhIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtjbGFzcy5pcy1leHBhbmRlZF09XCJzZWxlY3RlZFRhYiA9PT0gdGFiLlRpdGxlXCJcbiAgICAgICAgICAgICN0YWJsaXN0XG4gICAgICAgID5cbiAgICAgICAgICAgIDxmZC1keW5hbWljLXBhZ2UtY29udGVudCBbaWRdPVwidGFiLmlkXCIgW2NsYXNzLmxpbWl0LWNvbnRlbnQtd2lkdGhdPVwiZm9ybUNvbnRlbnRNYXhXaWR0aCA+IDBcIiBjZGtTY3JvbGxhYmxlPlxuICAgICAgICAgICAgICAgIDxmZC1sYXlvdXQtZ3JpZCBbc3R5bGUubWF4LXdpZHRoLnB4XT1cImZvcm1Db250ZW50TWF4V2lkdGhcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBmZExheW91dEdyaWRSb3c+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZkTGF5b3V0R3JpZENvbF09XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sTWRdPVwibGF5b3V0MS5jb2xNZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbExnXT1cImxheW91dDEuY29sTGdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xYbF09XCJsYXlvdXQxLmNvbFhsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW2ZkTGF5b3V0R3JpZENvbF09XCIxMlwiIFtjb2xNZF09XCJjb2xNZFwiIFtjb2xMZ109XCJjb2xMZ1wiIFtjb2xYbF09XCJjb2xYbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxic3UtbHktdGFiLXBhZ2UgW2NvbmZpZ109XCJ0YWJcIj48L2JzdS1seS10YWItcGFnZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmZExheW91dEdyaWRDb2xdPVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbE1kXT1cImxheW91dDIuY29sTWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xMZ109XCJsYXlvdXQyLmNvbExnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sWGxdPVwibGF5b3V0Mi5jb2xYbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZmQtbGF5b3V0LWdyaWQ+XG4gICAgICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuICAgICAgICA8L2ZkcC1pY29uLXRhYi1iYXItdGFiPlxuICAgICAgICB9XG4gICAgPC9mZHAtaWNvbi10YWItYmFyPlxuICAgIH0gQGlmKCFoaWRlRm9vdGVyKXtcbiAgICA8ZmQtZHluYW1pYy1wYWdlLWZvb3Rlcj5cbiAgICAgICAgPGJzdS1sYXlvdXQtYWN0aW9uc1xuICAgICAgICAgICAgW2NhblNlbmRdPVwiY2FuU2VuZFwiXG4gICAgICAgICAgICBbYnV0dG9uc109XCJsYXlvdXRBY3Rpb25zXCJcbiAgICAgICAgICAgIFtpc01vYmlsZV09XCJpc01vYmlsZVwiXG4gICAgICAgICAgICBbbGFuZHNjYXBlXT1cImxhbmRzY2FwZVwiXG4gICAgICAgICAgICBbc3RhbmRhbG9uZV09XCJzdGFuZGFsb25lXCJcbiAgICAgICAgICAgIFtmb290ZXJEZXNpZ25dPVwiZm9vdGVyRGVzaWduXCJcbiAgICAgICAgICAgIFt3b3JrZmxvd0J1dHRvbnNdPVwid29ya2Zsb3dCdXR0b25zXCJcbiAgICAgICAgICAgIFt3b3JrZmxvd0J1dHRvbnNDb21ib01vZGVdPVwid29ya2Zsb3dCdXR0b25zQ29tYm9Nb2RlIHx8IHdvcmZrbG93QnV0dG9uc09uRm9vdGVyXCJcbiAgICAgICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxuICAgICAgICAgICAgW3J0bF09XCJydGxcIlxuICAgICAgICAgICAgKHRvb2xDbGljayk9XCJ0b29sYmFyQ2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICh3b3JrZmxvd0Nob2ljZVNlbGVjdCk9XCJvbldmQ2hvaWNlU2VsZWN0KCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIDwvYnN1LWxheW91dC1hY3Rpb25zPlxuICAgIDwvZmQtZHluYW1pYy1wYWdlLWZvb3Rlcj5cbiAgICB9XG48L2ZkLWR5bmFtaWMtcGFnZT5cbkBpZiAoY29udGVudElzUGFnZSkge1xuPG5nLWNvbnRhaW5lclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgIHJlbmRlckxheW91dENvbXBvbmVudDtcbiAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgJGltcGxpY2l0OiBwYXJhbWV0ZXJzPy5MYXlvdXRDb21wb25lbnQsXG4gICAgICAgICAgICBsYXlvdXQ5NDogbGF5b3V0OTRcbiAgICAgICAgfVxuICAgIFwiXG4+PC9uZy1jb250YWluZXI+XG59XG48bmctdGVtcGxhdGUgI3JlbmRlckRlZmF1bHRMYXlvdXQgbGV0LWxheW91dDk0PVwibGF5b3V0OTRcIj5cbiAgICA8YnN1LWx5LWxheW91dC1jb250YWluZXItb2Ytcm9vdFxuICAgICAgICBbY29uZmlnXT1cImxheW91dDk0XCJcbiAgICAgICAgW2lzUGFuZWxdPVwiZmFsc2VcIlxuICAgICAgICBbaXNSb290XT1cInRydWVcIlxuICAgID48L2JzdS1seS1sYXlvdXQtY29udGFpbmVyLW9mLXJvb3Q+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNyZW5kZXJMYXlvdXRDb21wb25lbnQgbGV0LWNvbXBvbmVudCBsZXQtbGF5b3V0OTQ9XCJsYXlvdXQ5NFwiPlxuICAgIDxibnJjLWR5bmFtaWMtZm9ybS1jb21wb25lbnRcbiAgICAgICAgW2NvbXBvbmVudF09XCJjb21wb25lbnRcIlxuICAgICAgICBbcmVtb3ZlQ29udGVudFBhZGRpbmddPVwicmVtb3ZlQ29udGVudFBhZGRpbmdcIlxuICAgICAgICBbYnJlYWRDcnVtYnNdPVwiYnJlYWRDcnVtYnNcIlxuICAgICAgICBbZGVzY3JpcHRpb25dPVwiZGVzY3JpcHRpb25cIlxuICAgICAgICBbdGl0bGVdPVwidGl0bGVcIlxuICAgICAgICBbc3VidGl0bGVdPVwic3VidGl0bGVcIlxuICAgICAgICBbdG9vbGJhckl0ZW1zXT1cInRvb2xiYXJJdGVtc1wiXG4gICAgICAgIFtsYXlvdXRBY3Rpb25zXT1cImxheW91dEFjdGlvbnNcIlxuICAgICAgICBbZm9vdGVyRGVzaWduXT1cImZvb3RlckRlc2lnblwiXG4gICAgICAgIFtmYWNldExpc3RdPVwiZmFjZXRMaXN0XCJcbiAgICAgICAgW3NldHRpbmdzXT1cImNvbXBvbmVudC5TZXR0aW5nc1wiXG4gICAgICAgIFt3b3JrZmxvd0J1dHRvbnNdPVwid29ya2Zsb3dCdXR0b25zXCJcbiAgICAgICAgW3dvcmtmbG93UGFuZWxVaV09XCJ3b3JrZmxvd1BhbmVsVWlcIlxuICAgICAgICBbaXNNb2JpbGVdPVwiaXNNb2JpbGVcIlxuICAgICAgICBbbW9dPVwibW9cIlxuICAgICAgICBbbGF5b3V0OTRdPVwibGF5b3V0OTRcIlxuICAgICAgICBbY29udGV4dF09XCJjb250ZXh0XCJcbiAgICAgICAgW3J0bF09XCJydGxcIlxuICAgICAgICBbZmllbGREaWN0XT1cImZpZWxkRGljdFwiXG4gICAgICAgIFttYXNrXT1cIm1hc2tcIlxuICAgICAgICBbZGlyVmFsdWVdPVwiZGlyVmFsdWVcIlxuICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcbiAgICAgICAgW2NvbnRlbnREZW5zaXR5XT1cImNvbnRlbnREZW5zaXR5XCJcbiAgICAgICAgW21vZGVyblRhYnNdPVwibW9kZXJuVGFic1wiXG4gICAgICAgIFthdmF0YXJdPVwiYXZhdGFyXCJcbiAgICAgICAgKGV2ZW50cyk9XCJvbkR5bmFtaWNDb21wb25lbnRFdmVudHMoJGV2ZW50KVwiXG4gICAgPjwvYm5yYy1keW5hbWljLWZvcm0tY29tcG9uZW50PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjY2xvc2VGb3JtPlxuICAgIDxidXR0b24gZmQtYnV0dG9uIGZkVHlwZT1cInRyYW5zcGFyZW50XCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgKGNsaWNrKT1cImNsb3NlLmVtaXQoKVwiIHRpdGxlPVwiQ2xvc2VcIj5cbiAgICAgICAgPGkgW2NsYXNzXT1cIidzYXAtaWNvbi0tJyArIChpc01vYmlsZSA/IChydGwgPyAnYXJyb3ctcmlnaHQnIDogJ2Fycm93LWxlZnQnKSA6ICdkZWNsaW5lJylcIj48L2k+XG4gICAgPC9idXR0b24+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNmdWxsc2NyZWVuRm9ybT5cbiAgICBAaWYgKGNhbkZ1bGxzY3JlZW4pIHtcbiAgICA8YnV0dG9uXG4gICAgICAgIGZkLWJ1dHRvblxuICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZnVsbHNjcmVlbiA/ICdleGl0IGZ1bGxzY3JlZW4nIDogJ2Z1bGxzY3JlZW4nXCJcbiAgICAgICAgKGNsaWNrKT1cImZ1bGxzY3JlZW5SZXF1ZXN0LmVtaXQoKVwiXG4gICAgICAgIFt0aXRsZV09XCJmdWxsc2NyZWVuID8gJ2V4aXQgZnVsbHNjcmVlbicgOiAnZnVsbHNjcmVlbidcIlxuICAgICAgICBbZ2x5cGhdPVwiZnVsbHNjcmVlbiA/ICdleGl0ZnVsbHNjcmVlbicgOiAncmVzaXplJ1wiXG4gICAgPjwvYnV0dG9uPlxuICAgIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|