* Copyright (c) 2023-2024 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
if (!("finalizeConstruction" in ViewPU.prototype)) {
Reflect.set(ViewPU.prototype, "finalizeConstruction", () => { });
}
const display = requireNapi('display');
const mediaquery = requireNapi('mediaquery');
const LengthMetrics = requireNapi('arkui.node').LengthMetrics;
const SymbolGlyphModifier = requireNapi('arkui.modifier').SymbolGlyphModifier;
const componentUtils = requireNapi('arkui.componentUtils');
const Configuration = requireNapi('configuration');
const SystemDateTime = requireNapi('systemDateTime');
const o = 10003;
const t = 10002;
const u = 10007;
export const a1 = {
icon: {
size: { width: 32, height: 32 },
margin: {
top: LengthMetrics.vp(12),
bottom: LengthMetrics.vp(12),
start: LengthMetrics.vp(12),
end: LengthMetrics.vp(12)
},
fillColor: '',
borderRadius: { "id": -1, "type": 10002, params: ['sys.float.ohos_id_corner_radius_default_s'], "bundleName": "__harDefaultBundleName__", "moduleName": "__harDefaultModuleName__" }
},
title: {
margin: { bottom: LengthMetrics.vp(2) },
minFontSize: 12,
fontWeight: FontWeight.Medium,
fontSize: { "id": -1, "type": 10002, params: ['sys.float.ohos_id_text_size_sub_title2'], "bundleName": "__harDefaultBundleName__", "moduleName": "__harDefaultModuleName__" },
fontColor: { "id": -1, "type": 10001, params: ['sys.color.font_primary'], "bundleName": "__harDefaultBundleName__", "moduleName": "__harDefaultModuleName__" }
},
button: {
margin: {
top: LengthMetrics.vp(16),
bottom: LengthMetrics.vp(16),
start: LengthMetrics.vp(16),
end: LengthMetrics.vp(16)
},
padding: {
top: LengthMetrics.vp(4),
bottom: LengthMetrics.vp(4),
start: LengthMetrics.vp(4),
end: LengthMetrics.vp(4)
},
fontSize: { "id": -1, "type": 10002, params: ['sys.float.ohos_id_text_size_button2'], "bundleName": "__harDefaultBundleName__", "moduleName": "__harDefaultModuleName__" },
fontColor: { "id": -1, "type": 10001, params: ['sys.color.font_emphasize'], "bundleName": "__harDefaultBundleName__", "moduleName": "__harDefaultModuleName__" },
e2: {
top: LengthMetrics.vp(8),
bottom: LengthMetrics.vp(8),
start: LengthMetrics.vp(8),
end: LengthMetrics.vp(8)
},
minFontSize: 9,
fontWeight: FontWeight.Medium,
f2: { "id": -1, "type": 10001, params: ['sys.color.ohos_id_color_hover'], "bundleName": "__harDefaultBundleName__", "moduleName": "__harDefaultModuleName__" },
backgroundColor: { "id": -1, "type": 10001, params: ['sys.color.ohos_id_color_background_transparent'], "bundleName": "__harDefaultBundleName__", "moduleName": "__harDefaultModuleName__" },
responseRegion: { "id": -1, "type": 10002, params: ['sys.float.popup_button_response_region'], "bundleName": "__harDefaultBundleName__", "moduleName": "__harDefaultModuleName__" },
},
message: {
fontSize: { "id": -1, "type": 10002, params: ['sys.float.ohos_id_text_size_body2'], "bundleName": "__harDefaultBundleName__", "moduleName": "__harDefaultModuleName__" },
fontColor: { "id": -1, "type": 10001, params: ['sys.color.font_secondary'], "bundleName": "__harDefaultBundleName__", "moduleName": "__harDefaultModuleName__" },
fontWeight: FontWeight.Regular,
g2: { "id": -1, "type": 10001, params: ['sys.color.font_primary'], "bundleName": "__harDefaultBundleName__", "moduleName": "__harDefaultModuleName__" }
},
h2: {
padding: {
top: LengthMetrics.vp(12),
bottom: LengthMetrics.vp(12),
start: LengthMetrics.vp(12),
end: LengthMetrics.vp(12)
},
},
i2: {
size: { width: 22, height: 22 },
padding: {
top: LengthMetrics.vp(2),
bottom: LengthMetrics.vp(2),
start: LengthMetrics.vp(2),
end: LengthMetrics.vp(2)
},
margin: {
top: LengthMetrics.vp(12),
bottom: LengthMetrics.vp(12),
start: LengthMetrics.vp(12),
end: LengthMetrics.vp(12)
},
symbolStyle: new SymbolGlyphModifier({ "id": -1, "type": 40000, params: ['sys.symbol.xmark'], "bundleName": "__harDefaultBundleName__", "moduleName": "__harDefaultModuleName__" }),
fillColor: { "id": -1, "type": 10001, params: ['sys.color.icon_secondary'], "bundleName": "__harDefaultBundleName__", "moduleName": "__harDefaultModuleName__" },
f2: { "id": -1, "type": 10001, params: ['sys.color.ohos_id_color_hover'], "bundleName": "__harDefaultBundleName__", "moduleName": "__harDefaultModuleName__" },
backgroundColor: { "id": -1, "type": 10001, params: ['sys.color.ohos_id_color_background_transparent'], "bundleName": "__harDefaultBundleName__", "moduleName": "__harDefaultModuleName__" },
j2: '18vp',
l2: { "id": -1, "type": 10003, params: ['sys.string.off_used_for_accessibility_text'], "bundleName": "__harDefaultBundleName__", "moduleName": "__harDefaultModuleName__" },
responseRegion: { "id": -1, "type": 10002, params: ['sys.float.popup_close_button_response_region'], "bundleName": "__harDefaultBundleName__", "moduleName": "__harDefaultModuleName__" },
},
};
const b1 = () => {
};
const c1 = 400;
export function Popup(options, parent = null) {
const d2 = options;
{
(parent ? parent : this).observeComponentCreation2((elmtId, isInitialRender, options = d2) => {
if (isInitialRender) {
let componentCall = new d1(parent ? parent : this, {
icon: options.icon,
title: options.title,
message: options.message,
popupDirection: options.direction,
showClose: options.showClose,
onClose: options.onClose,
buttons: options.buttons,
maxWidth: options.maxWidth
}, undefined, elmtId, () => { }, { page: "library/src/main/ets/components/MainPage.ets", line: 210, m2: 3 });
ViewPU.create(componentCall);
let paramsLambda = () => {
return {
icon: options.icon,
title: options.title,
message: options.message,
popupDirection: options.direction,
showClose: options.showClose,
onClose: options.onClose,
buttons: options.buttons,
maxWidth: options.maxWidth
};
};
componentCall.paramsGenerator_ = paramsLambda;
}
else {
(parent ? parent : this).updateStateVarsOfChildByElmtId(elmtId, {
icon: options.icon,
title: options.title,
message: options.message,
popupDirection: options.direction,
showClose: options.showClose,
buttons: options.buttons,
maxWidth: options.maxWidth
});
}
}, { name: "PopupComponent" });
}
}
function i(dimension, c2) {
const matches = dimension.match(c2);
if (!matches || matches.length < 3) {
return false;
}
const value = Number.parseFloat(matches[1]);
return value >= 0;
}
function j(dimension) {
return i(dimension, new RegExp('(-?\\d+(?:\\.\\d+)?)_?(fp|vp|px|lpx|%)?$', 'i'));
}
function m(context, value) {
const resourceManager = context?.resourceManager;
if (value === void (0) || value === null || resourceManager === void (0)) {
return false;
}
if (value.type !== o && value.type !== u &&
value.type !== t) {
return false;
}
if (value.type === u || value.type === t) {
if (resourceManager.getNumber(value.id) >= 0) {
return true;
}
else {
return false;
}
}
if (value.type === o && !j(resourceManager.getStringSync(value.id))) {
return false;
}
else {
return true;
}
}
export class d1 extends ViewPU {
constructor(parent, params, __localStorage, elmtId = -1, paramsLambda = undefined, extraInfo) {
super(parent, __localStorage, elmtId, extraInfo);
if (typeof paramsLambda === "function") {
this.paramsGenerator_ = paramsLambda;
}
this.onClose = b1;
this.theme = a1;
this.applycontentKey = 'applyContent' + SystemDateTime.getTime(false);
this.displayDpiScale = 1;
this.__icon = new SynchedPropertyObjectOneWayPU(params.icon, this, "icon");
this.__maxWidth = new SynchedPropertyObjectOneWayPU(params.maxWidth, this, "maxWidth");
this.__messageMaxWidth = new SynchedPropertySimpleOneWayPU(params.messageMaxWidth, this, "messageMaxWidth");
this.__title = new SynchedPropertyObjectOneWayPU(params.title, this, "title");
this.__message = new SynchedPropertyObjectOneWayPU(params.message, this, "message");
this.__popupDirection = new SynchedPropertySimpleOneWayPU(params.popupDirection, this, "popupDirection");
this.__showClose = new SynchedPropertyObjectOneWayPU(params.showClose, this, "showClose");
this.__buttons = new SynchedPropertyObjectOneWayPU(params.buttons, this, "buttons");
this.textHeight = 0;
this.__titleHeight = new ObservedPropertySimplePU(0, this, "titleHeight");
this.__applyHeight = new ObservedPropertySimplePU(0, this, "applyHeight");
this.__buttonHeight = new ObservedPropertySimplePU(0, this, "buttonHeight");
this.__firstButtonHeight = new ObservedPropertySimplePU(0, this, "firstButtonHeight");
this.__secondButtonHeight = new ObservedPropertySimplePU(0, this, "secondButtonHeight");
this.__messageMaxWeight = new ObservedPropertyObjectPU(0, this, "messageMaxWeight");
this.__beforeScreenStatus = new ObservedPropertySimplePU(undefined, this, "beforeScreenStatus");
this.__currentScreenStatus = new ObservedPropertySimplePU(undefined, this, "currentScreenStatus");
this.__applySizeOptions = new ObservedPropertyObjectPU(undefined, this, "applySizeOptions");
this.__closeButtonBackgroundColor = new ObservedPropertyObjectPU({ "id": -1, "type": 10001, params: ['sys.color.ohos_id_color_background_transparent'], "bundleName": "__harDefaultBundleName__", "moduleName": "__harDefaultModuleName__" }, this, "closeButtonBackgroundColor");
this.__firstButtonBackgroundColor = new ObservedPropertyObjectPU({ "id": -1, "type": 10001, params: ['sys.color.ohos_id_color_background_transparent'], "bundleName": "__harDefaultBundleName__", "moduleName": "__harDefaultModuleName__" }, this, "firstButtonBackgroundColor");
this.__secondButtonBackgroundColor = new ObservedPropertyObjectPU({ "id": -1, "type": 10001, params: ['sys.color.ohos_id_color_background_transparent'], "bundleName": "__harDefaultBundleName__", "moduleName": "__harDefaultModuleName__" }, this, "secondButtonBackgroundColor");
this.__closeButtonFillColorWithTheme = new ObservedPropertyObjectPU({ "id": -1, "type": 10001, params: ['sys.color.icon_secondary'], "bundleName": "__harDefaultBundleName__", "moduleName": "__harDefaultModuleName__" }, this, "closeButtonFillColorWithTheme");
this.__scrollMaxHeight = new ObservedPropertyObjectPU(undefined, this, "scrollMaxHeight");
this.listener = mediaquery.matchMediaSync('(orientation: landscape)');
this.setInitiallyProvidedValue(params);
this.finalizeConstruction();
}
setInitiallyProvidedValue(params) {
if (params.onClose !== undefined) {
this.onClose = params.onClose;
}
if (params.theme !== undefined) {
this.theme = params.theme;
}
if (params.applycontentKey !== undefined) {
this.applycontentKey = params.applycontentKey;
}
if (params.displayDpiScale !== undefined) {
this.displayDpiScale = params.displayDpiScale;
}
if (params.icon === undefined) {
this.__icon.set({ image: '' });
}
if (params.messageMaxWidth === undefined) {
this.__messageMaxWidth.set(0);
}
if (params.title === undefined) {
this.__title.set({ text: '' });
}
if (params.message === undefined) {
this.__message.set({ text: '' });
}
if (params.popupDirection === undefined) {
this.__popupDirection.set(Direction.Auto);
}
if (params.showClose === undefined) {
this.__showClose.set(true);
}
if (params.buttons === undefined) {
this.__buttons.set([{ text: '' }, { text: '' }]);
}
if (params.textHeight !== undefined) {
this.textHeight = params.textHeight;
}
if (params.titleHeight !== undefined) {
this.titleHeight = params.titleHeight;
}
if (params.applyHeight !== undefined) {
this.applyHeight = params.applyHeight;
}
if (params.buttonHeight !== undefined) {
this.buttonHeight = params.buttonHeight;
}
if (params.messageMaxWeight !== undefined) {
this.messageMaxWeight = params.messageMaxWeight;
}
if (params.beforeScreenStatus !== undefined) {
this.beforeScreenStatus = params.beforeScreenStatus;
}
if (params.currentScreenStatus !== undefined) {
this.currentScreenStatus = params.currentScreenStatus;
}
if (params.applySizeOptions !== undefined) {
this.applySizeOptions = params.applySizeOptions;
}
if (params.closeButtonBackgroundColor !== undefined) {
this.closeButtonBackgroundColor = params.closeButtonBackgroundColor;
}
if (params.firstButtonBackgroundColor !== undefined) {
this.firstButtonBackgroundColor = params.firstButtonBackgroundColor;
}
if (params.secondButtonBackgroundColor !== undefined) {
this.secondButtonBackgroundColor = params.secondButtonBackgroundColor;
}
if (params.closeButtonFillColorWithTheme !== undefined) {
this.closeButtonFillColorWithTheme = params.closeButtonFillColorWithTheme;
}
if (params.scrollMaxHeight !== undefined) {
this.scrollMaxHeight = params.scrollMaxHeight;
}
if (params.listener !== undefined) {
this.listener = params.listener;
}
}
updateStateVars(params) {
this.__icon.reset(params.icon);
this.__maxWidth.reset(params.maxWidth);
this.__messageMaxWidth.reset(params.messageMaxWidth);
this.__title.reset(params.title);
this.__message.reset(params.message);
this.__popupDirection.reset(params.popupDirection);
this.__showClose.reset(params.showClose);
this.__buttons.reset(params.buttons);
}
purgeVariableDependenciesOnElmtId(rmElmtId) {
this.__icon.purgeDependencyOnElmtId(rmElmtId);
this.__maxWidth.purgeDependencyOnElmtId(rmElmtId);
this.__messageMaxWidth.purgeDependencyOnElmtId(rmElmtId);
this.__title.purgeDependencyOnElmtId(rmElmtId);
this.__message.purgeDependencyOnElmtId(rmElmtId);
this.__popupDirection.purgeDependencyOnElmtId(rmElmtId);
this.__showClose.purgeDependencyOnElmtId(rmElmtId);
this.__buttons.purgeDependencyOnElmtId(rmElmtId);
this.__titleHeight.purgeDependencyOnElmtId(rmElmtId);
this.__applyHeight.purgeDependencyOnElmtId(rmElmtId);
this.__buttonHeight.purgeDependencyOnElmtId(rmElmtId);
this.__messageMaxWeight.purgeDependencyOnElmtId(rmElmtId);
this.__beforeScreenStatus.purgeDependencyOnElmtId(rmElmtId);
this.__currentScreenStatus.purgeDependencyOnElmtId(rmElmtId);
this.__applySizeOptions.purgeDependencyOnElmtId(rmElmtId);
this.__closeButtonBackgroundColor.purgeDependencyOnElmtId(rmElmtId);
this.__firstButtonBackgroundColor.purgeDependencyOnElmtId(rmElmtId);
this.__secondButtonBackgroundColor.purgeDependencyOnElmtId(rmElmtId);
this.__closeButtonFillColorWithTheme.purgeDependencyOnElmtId(rmElmtId);
this.__scrollMaxHeight.purgeDependencyOnElmtId(rmElmtId);
}
aboutToBeDeleted() {
this.__icon.aboutToBeDeleted();
this.__maxWidth.aboutToBeDeleted();
this.__messageMaxWidth.aboutToBeDeleted();
this.__title.aboutToBeDeleted();
this.__message.aboutToBeDeleted();
this.__popupDirection.aboutToBeDeleted();
this.__showClose.aboutToBeDeleted();
this.__buttons.aboutToBeDeleted();
this.__titleHeight.aboutToBeDeleted();
this.__applyHeight.aboutToBeDeleted();
this.__buttonHeight.aboutToBeDeleted();
this.__messageMaxWeight.aboutToBeDeleted();
this.__beforeScreenStatus.aboutToBeDeleted();
this.__currentScreenStatus.aboutToBeDeleted();
this.__applySizeOptions.aboutToBeDeleted();
this.__closeButtonBackgroundColor.aboutToBeDeleted();
this.__firstButtonBackgroundColor.aboutToBeDeleted();
this.__secondButtonBackgroundColor.aboutToBeDeleted();
this.__closeButtonFillColorWithTheme.aboutToBeDeleted();
this.__scrollMaxHeight.aboutToBeDeleted();
SubscriberManager.Get().delete(this.id__());
this.aboutToBeDeletedInternal();
}
get icon() {
return this.__icon.get();
}
set icon(newValue) {
this.__icon.set(newValue);
}
get maxWidth() {
return this.__maxWidth.get();
}
set maxWidth(newValue) {
this.__maxWidth.set(newValue);
}
get messageMaxWidth() {
return this.__messageMaxWidth.get();
}
set messageMaxWidth(newValue) {
this.__messageMaxWidth.set(newValue);
}
get title() {
return this.__title.get();
}
set title(newValue) {
this.__title.set(newValue);
}
get message() {
return this.__message.get();
}
set message(newValue) {
this.__message.set(newValue);
}
get popupDirection() {
return this.__popupDirection.get();
}
set popupDirection(newValue) {
this.__popupDirection.set(newValue);
}
get showClose() {
return this.__showClose.get();
}
set showClose(newValue) {
this.__showClose.set(newValue);
}
get buttons() {
return this.__buttons.get();
}
set buttons(newValue) {
this.__buttons.set(newValue);
}
get titleHeight() {
return this.__titleHeight.get();
}
set titleHeight(newValue) {
this.__titleHeight.set(newValue);
}
get applyHeight() {
return this.__applyHeight.get();
}
set applyHeight(newValue) {
this.__applyHeight.set(newValue);
}
get buttonHeight() {
return this.__buttonHeight.get();
}
set buttonHeight(newValue) {
this.__buttonHeight.set(newValue);
}
get firstButtonHeight() {
return this.__firstButtonHeight.get();
}
set firstButtonHeight(newValue) {
this.__firstButtonHeight.set(newValue);
}
get secondButtonHeight() {
return this.__secondButtonHeight.get();
}
set secondButtonHeight(newValue) {
this.__secondButtonHeight.set(newValue);
}
get messageMaxWeight() {
return this.__messageMaxWeight.get();
}
set messageMaxWeight(newValue) {
this.__messageMaxWeight.set(newValue);
}
get beforeScreenStatus() {
return this.__beforeScreenStatus.get();
}
set beforeScreenStatus(newValue) {
this.__beforeScreenStatus.set(newValue);
}
get currentScreenStatus() {
return this.__currentScreenStatus.get();
}
set currentScreenStatus(newValue) {
this.__currentScreenStatus.set(newValue);
}
get applySizeOptions() {
return this.__applySizeOptions.get();
}
set applySizeOptions(newValue) {
this.__applySizeOptions.set(newValue);
}
get closeButtonBackgroundColor() {
return this.__closeButtonBackgroundColor.get();
}
set closeButtonBackgroundColor(newValue) {
this.__closeButtonBackgroundColor.set(newValue);
}
get firstButtonBackgroundColor() {
return this.__firstButtonBackgroundColor.get();
}
set firstButtonBackgroundColor(newValue) {
this.__firstButtonBackgroundColor.set(newValue);
}
get secondButtonBackgroundColor() {
return this.__secondButtonBackgroundColor.get();
}
set secondButtonBackgroundColor(newValue) {
this.__secondButtonBackgroundColor.set(newValue);
}
get closeButtonFillColorWithTheme() {
return this.__closeButtonFillColorWithTheme.get();
}
set closeButtonFillColorWithTheme(newValue) {
this.__closeButtonFillColorWithTheme.set(newValue);
}
get scrollMaxHeight() {
return this.__scrollMaxHeight.get();
}
set scrollMaxHeight(newValue) {
this.__scrollMaxHeight.set(newValue);
}
getIconWidth() {
return this.icon?.width ?? this.theme.icon.size.width;
}
getIconHeight() {
return this.icon?.height ?? this.theme.icon.size.height;
}
getIconFillColor() {
return this.icon?.fillColor ?? this.theme.icon.fillColor;
}
getIconBorderRadius() {
return this.icon?.borderRadius ?? this.theme.icon.borderRadius;
}
getIconMargin() {
return {
start: new LengthMetrics(this.theme.button.margin.start.value / 2, this.theme.button.margin.start.unit),
end: new LengthMetrics(this.theme.icon.margin.start.value - (this.theme.button.margin.end.value / 2), this.theme.button.margin.start.unit)
};
}
getIconImage() {
return this.icon?.image;
}
getTitleText() {
return this.title?.text;
}
getTitlePadding() {
return {
start: new LengthMetrics(this.theme.button.margin.start.value / 2, this.theme.button.margin.start.unit),
end: this.theme.i2.margin.end
};
}
getTitleMargin() {
return this.theme.title.margin;
}
getTitleMinFontSize() {
return this.theme.title.minFontSize;
}
getTitleFontWeight() {
return this.title?.fontWeight ?? this.theme.title.fontWeight;
}
getTitleFontSize() {
return this.title?.fontSize ?? this.theme.title.fontSize;
}
getTitleFontColor() {
return this.title?.fontColor ?? this.theme.title.fontColor;
}
getCloseButtonWidth() {
return this.theme.i2.size.width;
}
getCloseButtonHeight() {
return this.theme.i2.size.height;
}
getCloseButtonFillColor() {
return this.closeButtonFillColorWithTheme;
}
getCloseButtonHoverColor() {
return this.theme.i2.f2;
}
getCloseButtonBackgroundColor() {
return this.theme.i2.backgroundColor;
}
getCloseButtonPadding() {
return this.theme.i2.padding;
}
getCloseButtonSymbolSize() {
return this.theme.i2.j2;
}
getMessageText() {
return this.message.text;
}
getMessageFontSize() {
return this.message.fontSize ?? this.theme.message.fontSize;
}
getMessageFontColor() {
let fontColor;
if (this.message.fontColor) {
fontColor = this.message.fontColor;
}
else {
if (this.title.text !== '' && this.title.text !== void (0)) {
fontColor = this.theme.message.fontColor;
}
else {
fontColor = this.theme.message.g2;
}
}
return fontColor;
}
getMessagePadding() {
let padding;
padding = {
start: LengthMetrics.vp(this.theme.button.margin.start.value / 2),
end: LengthMetrics.vp(this.theme.i2.margin.end.value)
};
return padding;
}
getMessageMaxWeight() {
let a2 = undefined;
let b2 = undefined;
try {
b2 = display.getDefaultDisplaySync();
}
catch (error) {
console.error(`Ace Popup getDefaultDisplaySync, error: ${error.toString()}`);
return a2 = 400;
}
if (this.showClose || this.showClose === void (0)) {
if (this.messageMaxWidth != undefined) {
if (this.maxWidth != undefined && this.maxWidth > px2vp(b2.width)) {
a2 = px2vp(b2.width);
}
else {
a2 = this.messageMaxWidth;
}
}
else {
if (b2.width != 0) {
a2 = px2vp(b2.width);
}
else {
a2 = -1;
}
}
a2 -= (this.theme.h2.padding.start.value - (this.theme.button.margin.end.value / 2));
a2 -= this.theme.h2.padding.end.value;
a2 -= this.theme.button.margin.start.value / 2;
a2 -= this.theme.i2.margin.end.value;
a2 -= this.getCloseButtonWidth();
}
return a2;
}
getMessageFontWeight() {
return this.theme.message.fontWeight;
}
getButtonMargin() {
return {
top: LengthMetrics.vp(this.theme.button.e2.top.value / 2 - 4),
bottom: LengthMetrics.vp(this.theme.button.e2.bottom.value / 2 - 4),
start: LengthMetrics.vp(this.theme.button.margin.start.value / 2 - 4),
end: LengthMetrics.vp(this.theme.button.margin.end.value / 2 - 4)
};
}
getButtonTextMargin() {
return { top: LengthMetrics.vp(this.theme.button.e2.bottom.value) };
}
getButtonTextPadding() {
return this.theme.button.padding;
}
getButtonHoverColor() {
return this.theme.button.f2;
}
getButtonBackgroundColor() {
return this.theme.button.backgroundColor;
}
getFirstButtonText() {
return this.buttons?.[0]?.text;
}
getSecondButtonText() {
return this.buttons?.[1]?.text;
}
getFirstButtonFontSize() {
return this.buttons?.[0]?.fontSize ?? this.theme.button.fontSize;
}
getSecondButtonFontSize() {
return this.buttons?.[1]?.fontSize ?? this.theme.button.fontSize;
}
getFirstButtonFontColor() {
return this.buttons?.[0]?.fontColor ?? this.theme.button.fontColor;
}
getSecondButtonFontColor() {
return this.buttons?.[1]?.fontColor ?? this.theme.button.fontColor;
}
getButtonMinFontSize() {
return this.theme.button.minFontSize;
}
getButtonFontWeight() {
return this.theme.button.fontWeight;
}
getBtnResponseRegion(actualWidth, actualHeight, minSizeVp) {
if (actualWidth === 0 || actualHeight === 0 || minSizeVp <= 0) {
return undefined;
}
let needExpandWidth = actualWidth === -1 ? false : (actualWidth < minSizeVp);
let needExpandHeight = actualHeight < minSizeVp;
if (!needExpandWidth && !needExpandHeight) {
return undefined;
}
let regionWidth = needExpandWidth ? minSizeVp : '100%';
let regionHeight = needExpandHeight ? minSizeVp : '100%';
let offsetX = needExpandWidth ? (minSizeVp - actualWidth) / 2 : 0;
let offsetY = needExpandHeight ? (minSizeVp - actualHeight) / 2 : 0;
return {
x: -offsetX,
y: -offsetY,
width: regionWidth,
height: regionHeight
};
}
getCloseBtnResponseRegion() {
let responseRegionValue = this.toVp(this.theme.i2.responseRegion);
return this.getBtnResponseRegion(this.theme.i2.size.width,
this.theme.i2.size.height, responseRegionValue);
}
getNormalBtnResponseRegion(height) {
let responseRegionValue = this.toVp(this.theme.button.responseRegion);
return this.getBtnResponseRegion(-1, height, responseRegionValue);
}
getWindowsPadding() {
let top = this.theme.h2.padding.top;
let bottom = LengthMetrics.vp(this.theme.h2.padding.bottom.value - (this.theme.button.e2.bottom.value / 2));
let start = LengthMetrics.vp(this.theme.h2.padding.start.value - (this.theme.button.margin.end.value / 2));
let end = this.theme.h2.padding.end;
let z1 = this.toVp(this.maxWidth);
if (z1 === 0) {
start = LengthMetrics.vp(0);
end = LengthMetrics.vp(0);
}
return {
top: top,
bottom: bottom,
start: start,
end: end
};
}
onWillApplyTheme(theme) {
this.theme.title.fontColor = theme.colors.fontPrimary;
this.theme.button.fontColor = theme.colors.fontEmphasize;
this.theme.message.fontColor = theme.colors.fontSecondary;
this.theme.message.g2 = theme.colors.fontPrimary;
this.closeButtonFillColorWithTheme = theme.colors.iconSecondary;
}
aboutToAppear() {
this.listener.on("change", (w1) => {
setTimeout(() => {
this.currentScreenStatus = w1.matches;
this.setScrollMaxHeight(undefined, true);
}, 10);
});
}
aboutToDisappear() {
this.listener.off("change");
}
setScrollMaxHeight(maxHeight, forceChange = false) {
let v1 = undefined;
if (maxHeight) {
v1 = maxHeight;
}
else {
this.applySizeOptions = this.getApplyMaxSize();
let maxHeightInDisplay = this.applySizeOptions?.maxHeight;
if (this.applyHeight && !forceChange) {
v1 = Math.min(this.applyHeight, maxHeightInDisplay);
}
else {
v1 = maxHeightInDisplay;
}
}
v1 -= this.titleHeight;
v1 -= this.buttonHeight;
let totalSpacing = this.theme.h2.padding.top.value + this.theme.h2.padding.bottom.value;
totalSpacing += this.theme.title.margin.bottom.value;
v1 -= totalSpacing * this.displayDpiScale;
if (Math.floor(this.textHeight) > Math.floor(v1 + 1)) {
this.scrollMaxHeight = v1;
}
else {
this.scrollMaxHeight = undefined;
}
}
getLayoutWeight() {
let layoutWeight;
if ((this.icon.image !== '' && this.icon.image !== void (0)) ||
(this.title.text !== '' && this.title.text !== void (0)) ||
(this.buttons?.[0]?.text !== '' && this.buttons?.[0]?.text !== void (0)) ||
(this.buttons?.[1]?.text !== '' && this.buttons?.[1]?.text !== void (0))) {
layoutWeight = 1;
}
else {
layoutWeight = 0;
}
return layoutWeight;
}
resourceToVp(value) {
try {
if (value.id !== -1) {
return px2vp(getContext(this).resourceManager.getNumber(value.id));
}
else {
return px2vp(getContext(this)
.resourceManager
.getNumberByName((value.params[0]).split('.')[2]));
}
}
catch (error) {
return c1;
}
}
toVp(value) {
let s1 = undefined;
try {
s1 = display.getDefaultDisplaySync();
}
catch (error) {
console.error(`Ace Popup getDefaultDisplaySync, error: ${error.toString()}`);
return Number.NEGATIVE_INFINITY;
}
if (value === void (0)) {
return Number.NEGATIVE_INFINITY;
}
switch (typeof (value)) {
case 'number':
return value;
case 'object':
try {
let u1 = this.resourceToVp(value);
if (u1 === 0 &&
!m(getContext(this), value)) {
return Number.NEGATIVE_INFINITY;
}
return u1;
}
catch (error) {
return Number.NEGATIVE_INFINITY;
}
case 'string':
let t1 = new RegExp('(-?\\d+(?:\\.\\d+)?)_?(fp|vp|px|lpx|%)?$', 'i');
let matches = value.match(t1);
if (!matches) {
return Number.NEGATIVE_INFINITY;
}
let length = Number(matches?.[1] ?? 0);
let unit = matches?.[2] ?? 'vp';
switch (unit.toLowerCase()) {
case 'px':
length = px2vp(length);
break;
case 'fp':
length = px2vp(fp2px(length));
break;
case 'lpx':
length = px2vp(lpx2px(length));
break;
case '%':
length = length / 100 * px2vp(s1.width);
break;
case 'vp':
break;
default:
break;
}
return length;
default:
return Number.NEGATIVE_INFINITY;
}
}
getApplyMaxSize() {
let m1 = undefined;
let n1 = undefined;
let o1 = undefined;
let p1 = undefined;
let q1 = 400;
try {
p1 = display.getDefaultDisplaySync();
}
catch (error) {
console.error(`Ace Popup getDefaultDisplaySync, error: ${error.toString()}`);
this.messageMaxWeight = 400;
return o1 = { maxWidth: 400, maxHeight: 480 };
}
let densityPixels = p1.densityPixels;
this.displayDpiScale = (this.getUIContext()?.vp2px(1) ?? densityPixels) / densityPixels;
if (this.maxWidth !== undefined) {
if (typeof this.maxWidth === 'number' && this.maxWidth >= 0) {
q1 = this.maxWidth;
}
else if (typeof this.maxWidth === 'number' && this.maxWidth < 0) {
q1 = c1;
}
else {
q1 = this.toVp(this.maxWidth);
}
}
if (px2vp(p1.width) > q1) {
m1 = q1;
}
else {
if (p1.width != 0) {
m1 = px2vp(p1.width);
}
else {
m1 = -1;
}
}
if (px2vp(p1.height) > 480) {
n1 = 480;
}
else {
n1 = px2vp(p1.height) - 40 - 40;
}
o1 = { maxWidth: m1, maxHeight: n1 };
this.messageMaxWidth = m1;
this.messageMaxWeight = this.getMessageMaxWeight();
return o1;
}
getTitleTextAlign() {
let k2 = TextAlign.Start;
if ((Configuration.getLocale().dir === 'rtl') && this.popupDirection === Direction.Auto) {
k2 = TextAlign.End;
}
return k2;
}
initialRender() {
this.observeComponentCreation2((elmtId, isInitialRender) => {
Row.create();
Row.direction(this.popupDirection);
Row.alignItems(VerticalAlign.Top);
Row.padding(this.getWindowsPadding());
Row.constraintSize(ObservedObject.GetRawObject(this.applySizeOptions));
Row.constraintSize(this.getApplyMaxSize());
Row.key(this.applycontentKey);
Row.onAreaChange((k1, rect) => {
this.applyHeight = rect.height;
this.setScrollMaxHeight(this.applyHeight);
});
}, Row);
this.observeComponentCreation2((elmtId, isInitialRender) => {
If.create();
if (this.icon.image !== '' && this.icon.image !== void (0)) {
this.ifElseBranchUpdateFunction(0, () => {
this.observeComponentCreation2((elmtId, isInitialRender) => {
Image.create(this.getIconImage());
Image.direction(this.popupDirection);
Image.width(this.getIconWidth());
Image.height(this.getIconHeight());
Image.margin(this.getIconMargin());
Image.fillColor(this.getIconFillColor());
Image.borderRadius(this.getIconBorderRadius());
Image.draggable(false);
}, Image);
});
}
else {
this.ifElseBranchUpdateFunction(1, () => {
});
}
}, If);
If.pop();
this.observeComponentCreation2((elmtId, isInitialRender) => {
If.create();
if (this.title.text !== '' && this.title.text !== void (0)) {
this.ifElseBranchUpdateFunction(0, () => {
this.observeComponentCreation2((elmtId, isInitialRender) => {
Column.create();
Column.direction(this.popupDirection);
Column.layoutWeight(this.getLayoutWeight());
}, Column);
this.observeComponentCreation2((elmtId, isInitialRender) => {
Flex.create({ alignItems: ItemAlign.Start });
Flex.direction(this.popupDirection);
Flex.width("100%");
Flex.margin(this.getTitleMargin());
Flex.onAreaChange((j1, rect) => {
this.titleHeight = rect.height;
this.setScrollMaxHeight(undefined);
});
}, Flex);
this.observeComponentCreation2((elmtId, isInitialRender) => {
Text.create(this.getTitleText());
Text.direction(this.popupDirection);
Text.flexGrow(1);
Text.maxLines(2);
Text.align(Alignment.Start);
Text.padding(this.getTitlePadding());
Text.minFontSize(this.getTitleMinFontSize());
Text.textOverflow({ overflow: TextOverflow.Ellipsis });
Text.fontWeight(this.getTitleFontWeight());
Text.fontSize(this.getTitleFontSize());
Text.fontColor(this.getTitleFontColor());
Text.constraintSize({ minHeight: this.getCloseButtonHeight() });
Text.textAlign(this.getTitleTextAlign());
}, Text);
Text.pop();
this.observeComponentCreation2((elmtId, isInitialRender) => {
If.create();
if (this.showClose || this.showClose === void (0)) {
this.ifElseBranchUpdateFunction(0, () => {
this.observeComponentCreation2((elmtId, isInitialRender) => {
Button.createWithChild();
Button.direction(this.popupDirection);
Button.width(this.getCloseButtonWidth());
Button.height(this.getCloseButtonHeight());
Button.padding(this.getCloseButtonPadding());
Button.backgroundColor(ObservedObject.GetRawObject(this.closeButtonBackgroundColor));
Button.flexShrink(0);
Button.accessibilityText(this.theme.i2.l2);
Button.responseRegion(this.getCloseBtnResponseRegion());
Button.onHover((isHover) => {
if (isHover) {
this.closeButtonBackgroundColor = this.getCloseButtonHoverColor();
}
else {
this.closeButtonBackgroundColor = this.getCloseButtonBackgroundColor();
}
});
Button.onClick(() => {
if (this.onClose) {
this.onClose();
}
});
}, Button);
this.observeComponentCreation2((elmtId, isInitialRender) => {
SymbolGlyph.create();
SymbolGlyph.fontColor([this.getCloseButtonFillColor()]);
SymbolGlyph.fontSize(this.getCloseButtonSymbolSize());
SymbolGlyph.direction(this.popupDirection);
SymbolGlyph.attributeModifier.bind(this)(this.theme.i2.symbolStyle);
SymbolGlyph.focusable(true);
SymbolGlyph.draggable(false);
}, SymbolGlyph);
Button.pop();
});
}
else {
this.ifElseBranchUpdateFunction(1, () => {
});
}
}, If);
If.pop();
Flex.pop();
this.observeComponentCreation2((elmtId, isInitialRender) => {
Scroll.create();
Scroll.direction(this.popupDirection);
Scroll.width("100%");
Scroll.align(Alignment.TopStart);
Scroll.padding(this.getMessagePadding());
Scroll.scrollBar(BarState.Auto);
Scroll.scrollable(ScrollDirection.Vertical);
Scroll.constraintSize({ maxHeight: this.scrollMaxHeight });
Scroll.edgeEffect(EdgeEffect.Spring, { alwaysEnabled: false });
}, Scroll);
this.observeComponentCreation2((elmtId, isInitialRender) => {
Text.create(this.getMessageText());
Text.direction(this.popupDirection);
Text.fontSize(this.getMessageFontSize());
Text.fontColor(this.getMessageFontColor());
Text.fontWeight(this.getMessageFontWeight());
Text.constraintSize({ minHeight: this.getCloseButtonHeight() });
Text.onAreaChange((i1, rect) => {
this.textHeight = rect.height;
this.setScrollMaxHeight(undefined);
});
}, Text);
Text.pop();
Scroll.pop();
this.observeComponentCreation2((elmtId, isInitialRender) => {
Flex.create({ wrap: FlexWrap.Wrap });
Flex.direction(this.popupDirection);
Flex.margin(this.getButtonTextMargin());
Flex.flexGrow(1);
Flex.onAreaChange((h1, rect) => {
if ((this.buttons?.[0]?.text !== '' && this.buttons?.[0]?.text !== void (0)) ||
(this.buttons?.[1]?.text !== '' && this.buttons?.[1]?.text !== void (0))) {
this.buttonHeight = rect.height;
}
else {
this.buttonHeight = 0;
}
this.setScrollMaxHeight(undefined);
});
}, Flex);
this.observeComponentCreation2((elmtId, isInitialRender) => {
If.create();
if (this.buttons?.[0]?.text !== '' && this.buttons?.[0]?.text !== void (0)) {
this.ifElseBranchUpdateFunction(0, () => {
this.observeComponentCreation2((elmtId, isInitialRender) => {
Button.createWithChild();
Button.type(ButtonType.Normal);
Button.borderRadius({ "id": -1, "type": 10002, params: ['sys.float.popup_button_border_radius'], "bundleName": "__harDefaultBundleName__", "moduleName": "__harDefaultModuleName__" });
Button.direction(this.popupDirection);
Button.margin(this.getButtonMargin());
Button.padding(this.getButtonTextPadding());
Button.backgroundColor(ObservedObject.GetRawObject(this.firstButtonBackgroundColor));
Button.onHover((isHover) => {
if (isHover) {
this.firstButtonBackgroundColor = this.getButtonHoverColor();
}
else {
this.firstButtonBackgroundColor = this.getButtonBackgroundColor();
}
});
Button.onClick(() => {
if (this.buttons?.[0]?.action) {
this.buttons?.[0]?.action();
}
});
Button.onAreaChange((i1, rect) => {
this.firstButtonHeight = rect.height;
});
Button.responseRegion(this.getNormalBtnResponseRegion(this.firstButtonHeight));
}, Button);
this.observeComponentCreation2((elmtId, isInitialRender) => {
Text.create(this.getFirstButtonText());
Text.direction(this.popupDirection);
Text.maxLines(2);
Text.focusable(true);
Text.fontSize(this.getFirstButtonFontSize());
Text.fontColor(this.getFirstButtonFontColor());
Text.fontWeight(this.getButtonFontWeight());
Text.minFontSize(this.getButtonMinFontSize());
Text.textOverflow({ overflow: TextOverflow.Ellipsis });
}, Text);
Text.pop();
Button.pop();
});
}
else {
this.ifElseBranchUpdateFunction(1, () => {
});
}
}, If);
If.pop();
this.observeComponentCreation2((elmtId, isInitialRender) => {
If.create();
if (this.buttons?.[1]?.text !== '' && this.buttons?.[1]?.text !== void (0)) {
this.ifElseBranchUpdateFunction(0, () => {
this.observeComponentCreation2((elmtId, isInitialRender) => {
Button.createWithChild();
Button.type(ButtonType.Normal);
Button.borderRadius({ "id": -1, "type": 10002, params: ['sys.float.popup_button_border_radius'], "bundleName": "__harDefaultBundleName__", "moduleName": "__harDefaultModuleName__" });
Button.direction(this.popupDirection);
Button.margin(this.getButtonMargin());
Button.padding(this.getButtonTextPadding());
Button.backgroundColor(ObservedObject.GetRawObject(this.secondButtonBackgroundColor));
Button.onHover((isHover) => {
if (isHover) {
this.secondButtonBackgroundColor = this.getButtonHoverColor();
}
else {
this.secondButtonBackgroundColor = this.getButtonBackgroundColor();
}
});
Button.onClick(() => {
if (this.buttons?.[1]?.action) {
this.buttons?.[1]?.action();
}
});
Button.onAreaChange((i1, rect) => {
this.secondButtonHeight = rect.height;
});
Button.responseRegion(this.getNormalBtnResponseRegion(this.secondButtonHeight));
}, Button);
this.observeComponentCreation2((elmtId, isInitialRender) => {
Text.create(this.getSecondButtonText());
Text.direction(this.popupDirection);
Text.maxLines(2);
Text.focusable(true);
Text.fontSize(this.getSecondButtonFontSize());
Text.fontColor(this.getSecondButtonFontColor());
Text.fontWeight(this.getButtonFontWeight());
Text.minFontSize(this.getButtonMinFontSize());
Text.textOverflow({ overflow: TextOverflow.Ellipsis });
}, Text);
Text.pop();
Button.pop();
});
}
else {
this.ifElseBranchUpdateFunction(1, () => {
});
}
}, If);
If.pop();
Flex.pop();
Column.pop();
});
}
else {
this.ifElseBranchUpdateFunction(1, () => {
this.observeComponentCreation2((elmtId, isInitialRender) => {
Column.create();
Column.direction(this.popupDirection);
Column.layoutWeight(this.getLayoutWeight());
}, Column);
this.observeComponentCreation2((elmtId, isInitialRender) => {
Flex.create();
Flex.height(0);
Flex.onAreaChange((g1, rect) => {
this.titleHeight = rect.height;
this.setScrollMaxHeight(undefined);
});
}, Flex);
Flex.pop();
this.observeComponentCreation2((elmtId, isInitialRender) => {
Row.create();
Row.direction(this.popupDirection);
Row.alignItems(VerticalAlign.Top);
}, Row);
this.observeComponentCreation2((elmtId, isInitialRender) => {
Scroll.create();
Scroll.direction(this.popupDirection);
Scroll.layoutWeight(this.getLayoutWeight());
Scroll.edgeEffect(EdgeEffect.Spring, { alwaysEnabled: false });
Scroll.align(Alignment.TopStart);
Scroll.padding(this.getMessagePadding());
Scroll.scrollBar(BarState.Auto);
Scroll.scrollable(ScrollDirection.Vertical);
Scroll.constraintSize({ maxHeight: this.scrollMaxHeight });
}, Scroll);
this.observeComponentCreation2((elmtId, isInitialRender) => {
Text.create(this.getMessageText());
Text.direction(this.popupDirection);
Text.fontSize(this.getMessageFontSize());
Text.fontColor(this.getMessageFontColor());
Text.fontWeight(this.getMessageFontWeight());
Text.constraintSize({ maxWidth: this.messageMaxWeight, minHeight: this.getCloseButtonHeight() });
Text.onAreaChange((f1, rect) => {
this.textHeight = rect.height;
this.setScrollMaxHeight(undefined);
});
}, Text);
Text.pop();
Scroll.pop();
this.observeComponentCreation2((elmtId, isInitialRender) => {
If.create();
if (this.showClose || this.showClose === void (0)) {
this.ifElseBranchUpdateFunction(0, () => {
this.observeComponentCreation2((elmtId, isInitialRender) => {
Button.createWithChild();
Button.direction(this.popupDirection);
Button.width(this.getCloseButtonWidth());
Button.height(this.getCloseButtonHeight());
Button.padding(this.getCloseButtonPadding());
Button.backgroundColor(ObservedObject.GetRawObject(this.closeButtonBackgroundColor));
Button.flexShrink(0);
Button.accessibilityText(this.theme.i2.l2);
Button.responseRegion(this.getCloseBtnResponseRegion());
Button.onHover((isHover) => {
if (isHover) {
this.closeButtonBackgroundColor = this.getCloseButtonHoverColor();
}
else {
this.closeButtonBackgroundColor = this.getCloseButtonBackgroundColor();
}
});
Button.onClick(() => {
if (this.onClose) {
this.onClose();
}
});
}, Button);
this.observeComponentCreation2((elmtId, isInitialRender) => {
SymbolGlyph.create();
SymbolGlyph.fontColor([this.getCloseButtonFillColor()]);
SymbolGlyph.fontSize(this.getCloseButtonSymbolSize());
SymbolGlyph.direction(this.popupDirection);
SymbolGlyph.attributeModifier.bind(this)(this.theme.i2.symbolStyle);
SymbolGlyph.focusable(true);
SymbolGlyph.draggable(false);
}, SymbolGlyph);
Button.pop();
});
}
else {
this.ifElseBranchUpdateFunction(1, () => {
});
}
}, If);
If.pop();
Row.pop();
this.observeComponentCreation2((elmtId, isInitialRender) => {
Flex.create({ wrap: FlexWrap.Wrap });
Flex.direction(this.popupDirection);
Flex.margin(this.getButtonTextMargin());
Flex.flexGrow(1);
Flex.onAreaChange((e1, rect) => {
if ((this.buttons?.[0]?.text !== '' && this.buttons?.[0]?.text !== void (0)) ||
(this.buttons?.[1]?.text !== '' && this.buttons?.[1]?.text !== void (0))) {
this.buttonHeight = rect.height;
}
else {
this.buttonHeight = 0;
}
this.setScrollMaxHeight(undefined);
});
}, Flex);
this.observeComponentCreation2((elmtId, isInitialRender) => {
If.create();
if (this.buttons?.[0]?.text !== '' && this.buttons?.[0]?.text !== void (0)) {
this.ifElseBranchUpdateFunction(0, () => {
this.observeComponentCreation2((elmtId, isInitialRender) => {
Button.createWithChild();
Button.type(ButtonType.Normal);
Button.borderRadius({ "id": -1, "type": 10002, params: ['sys.float.popup_button_border_radius'], "bundleName": "__harDefaultBundleName__", "moduleName": "__harDefaultModuleName__" });
Button.direction(this.popupDirection);
Button.margin(this.getButtonMargin());
Button.padding(this.getButtonTextPadding());
Button.backgroundColor(ObservedObject.GetRawObject(this.firstButtonBackgroundColor));
Button.onHover((isHover) => {
if (isHover) {
this.firstButtonBackgroundColor = this.getButtonHoverColor();
}
else {
this.firstButtonBackgroundColor = this.getButtonBackgroundColor();
}
});
Button.onClick(() => {
if (this.buttons?.[0]?.action) {
this.buttons?.[0]?.action();
}
});
Button.onAreaChange((i1, rect) => {
this.firstButtonHeight = rect.height;
});
Button.responseRegion(this.getNormalBtnResponseRegion(this.firstButtonHeight));
}, Button);
this.observeComponentCreation2((elmtId, isInitialRender) => {
Text.create(this.getFirstButtonText());
Text.direction(this.popupDirection);
Text.maxLines(2);
Text.focusable(true);
Text.fontSize(this.getFirstButtonFontSize());
Text.fontColor(this.getFirstButtonFontColor());
Text.fontWeight(this.getButtonFontWeight());
Text.minFontSize(this.getButtonMinFontSize());
Text.textOverflow({ overflow: TextOverflow.Ellipsis });
}, Text);
Text.pop();
Button.pop();
});
}
else {
this.ifElseBranchUpdateFunction(1, () => {
});
}
}, If);
If.pop();
this.observeComponentCreation2((elmtId, isInitialRender) => {
If.create();
if (this.buttons?.[1]?.text !== '' && this.buttons?.[1]?.text !== void (0)) {
this.ifElseBranchUpdateFunction(0, () => {
this.observeComponentCreation2((elmtId, isInitialRender) => {
Button.createWithChild();
Button.type(ButtonType.Normal);
Button.borderRadius({ "id": -1, "type": 10002, params: ['sys.float.popup_button_border_radius'], "bundleName": "__harDefaultBundleName__", "moduleName": "__harDefaultModuleName__" });
Button.direction(this.popupDirection);
Button.margin(this.getButtonMargin());
Button.padding(this.getButtonTextPadding());
Button.backgroundColor(ObservedObject.GetRawObject(this.secondButtonBackgroundColor));
Button.onHover((isHover) => {
if (isHover) {
this.secondButtonBackgroundColor = this.getButtonHoverColor();
}
else {
this.secondButtonBackgroundColor = this.getButtonBackgroundColor();
}
});
Button.onClick(() => {
if (this.buttons?.[1]?.action) {
this.buttons?.[1]?.action();
}
});
Button.onAreaChange((i1, rect) => {
this.secondButtonHeight = rect.height;
});
Button.responseRegion(this.getNormalBtnResponseRegion(this.secondButtonHeight));
}, Button);
this.observeComponentCreation2((elmtId, isInitialRender) => {
Text.create(this.getSecondButtonText());
Text.direction(this.popupDirection);
Text.maxLines(2);
Text.focusable(true);
Text.fontSize(this.getSecondButtonFontSize());
Text.fontColor(this.getSecondButtonFontColor());
Text.fontWeight(this.getButtonFontWeight());
Text.minFontSize(this.getButtonMinFontSize());
Text.textOverflow({ overflow: TextOverflow.Ellipsis });
}, Text);
Text.pop();
Button.pop();
});
}
else {
this.ifElseBranchUpdateFunction(1, () => {
});
}
}, If);
If.pop();
Flex.pop();
Column.pop();
});
}
}, If);
If.pop();
Row.pop();
}
rerender() {
this.updateDirtyElements();
}
}
export default { Popup };