outsystems-ui
Version:
OutSystems UI Framework
21,990 lines • 1.25 MB
JavaScript
/*!
OutSystems UI 2.22.0 • ODC Platform
Website:
• https://www.outsystems.com/outsystems-ui
GitHub:
• https://github.com/OutSystems/outsystems-ui
*/
"use strict";
var osui;
(function (osui) {
function GetVersion() {
console.warn('osui.GetVersion(), is deprecated. Please use the API `OutSystems.OSUI.GetVersion()`.');
return OutSystems.OSUI.GetVersion();
}
osui.GetVersion = GetVersion;
function ToggleClass(el, state, className) {
console.warn('osui.ToggleClass(...), is deprecated. Please use the API `OutSystems.OSUI.Utils.ToggleClass(...)`.');
OutSystems.OSUI.Utils.ToggleClass(el, state, className);
}
osui.ToggleClass = ToggleClass;
function GetClosest(elem, selector) {
console.warn('osui.GetClosest(...), is deprecated. Please use the API `OutSystems.OSUI.Utils.GetClosest(...)`.');
return OutSystems.OSUI.Utils.GetClosest(elem, selector);
}
osui.GetClosest = GetClosest;
function FixInputs() {
console.warn('osui.FixInputs(...), is deprecated. Please use the API `OutSystems.OSUI.Utils.FixInputs(...)`.');
OutSystems.OSUI.Utils.LayoutPrivate.FixInputs();
}
osui.FixInputs = FixInputs;
function HasMasterDetail() {
console.warn('osui.HasMasterDetail(), is deprecated. Please use the API `OutSystems.OSUI.Utils.HasMasterDetail()`.');
return OutSystems.OSUI.Utils.HasMasterDetail();
}
osui.HasMasterDetail = HasMasterDetail;
function HideOnScroll() {
console.warn('osui.HideOnScroll(), is deprecated. Please use the API `OutSystems.OSUI.Utils.HideOnScroll.Init()`.');
return {
init: () => {
OutSystems.OSUI.Utils.HideOnScroll.Init();
},
};
}
osui.HideOnScroll = HideOnScroll;
})(osui || (osui = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
var Menu;
(function (Menu) {
function AddMenuOnOrientationChange(callback) {
console.warn('OutSystems.OSUI.Utils.Menu.AddMenuOnOrientationChange(...), is deprecated. Please use the API `OutSystems.OSUI.Utils.Menu.OnReady(...)`.');
return OutSystems.OSUI.Utils.Menu.addMenuOnOrientationChange(callback);
}
Menu.AddMenuOnOrientationChange = AddMenuOnOrientationChange;
function RemoveMenuOnOrientationChange() {
console.warn('OutSystems.OSUI.Utils.Menu.RemoveMenuOnOrientationChange(), is deprecated. Please use the API `OutSystems.OSUI.Utils.Menu.OnDestroy()`.');
return OutSystems.OSUI.Utils.Menu.removeMenuOnOrientationChange();
}
Menu.RemoveMenuOnOrientationChange = RemoveMenuOnOrientationChange;
})(Menu = Utils.Menu || (Utils.Menu = {}));
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Constants;
(function (Constants) {
Constants.A11YAttributes = {
Aria: {
Atomic: 'aria-atomic',
Busy: 'aria-busy',
Controls: 'aria-controls',
Describedby: 'aria-describedby',
Disabled: 'aria-disabled',
Expanded: 'aria-expanded',
Haspopup: {
prop: 'aria-haspopup',
value: {
False: 'false',
True: 'true',
Menu: 'menu',
Listbox: 'listbox',
Tree: 'tree',
Grid: 'grid',
Dialog: 'dialog',
},
},
Hidden: 'aria-hidden',
Label: 'aria-label',
Labelledby: 'aria-labelledby',
Multiselectable: 'aria-multiselectable',
Selected: 'aria-selected',
ValueMax: 'valuemax',
ValueMin: 'valuemin',
},
AriaLive: {
AttrName: 'aria-live',
Assertive: 'assertive',
Polite: 'polite',
Off: 'off',
},
Role: {
Alert: 'alert',
AlertDialog: 'alertdialog',
AttrName: 'role',
Button: 'button',
Complementary: 'complementary',
Listbox: 'listbox',
Menu: 'menu',
MenuItem: 'menuitem',
Option: 'option',
Presentation: 'presentation',
Progressbar: 'progressbar',
Region: 'region',
Search: 'search',
Tab: 'tab',
TabList: 'tablist',
TabPanel: 'tabpanel',
Tooltip: 'tooltip',
},
TabIndex: 'tabindex',
States: {
Empty: '',
False: 'false',
TabIndexHidden: '-1',
TabIndexShow: '0',
True: 'true',
},
};
Constants.AccessibilityHideElementClass = 'wcag-hide-text';
Constants.AllowPropagationAttr = '[data-allow-event-propagation]';
Constants.Comma = ',';
Constants.Dot = '.';
Constants.EmptyString = '';
Constants.EnableLogMessages = false;
Constants.FocusableElems = 'a[href]:not([disabled]), [tabindex="0"], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled])';
Constants.FocusableTabIndexDefault = 'default-tabindex-element';
Constants.FocusableTabIndexHidden = '[tabindex="-1"][default-tabindex-element]';
Constants.FocusTrapIgnoreAttr = 'ignore-focus-trap';
Constants.HasAccessibilityClass = 'has-accessible-features';
Constants.InvalidNumber = -1;
Constants.IsRTLClass = 'is-rtl';
Constants.IsRTLDeviceType = 'is-rtl-device';
Constants.JavaScriptTypes = {
Undefined: 'undefined',
Boolean: 'boolean',
Number: 'number',
String: 'string',
Symbol: 'symbol',
Function: 'function',
Object: 'object',
};
Constants.JustInputs = 'input:not([type=button]):not([type=checkbox]):not([type=color]):not([type=file]):not([type=hidden]):not([type=image]):not([type=image]):not([type=radio]):not([type=range]):not([type=reset]):not([type=submit]), textarea';
Constants.Language = {
code: 'en-US',
short: 'en',
};
Constants.Months = [
'January',
'February',
'March',
'April',
'May',
'June',
'July',
'August',
'September',
'October',
'November',
'December',
];
Constants.NoTransition = 'no-transition';
Constants.OSPlatform = 'ODC';
Constants.OSUIVersion = '2.22.0';
Constants.ZeroValue = 0;
})(Constants = OSUI.Constants || (OSUI.Constants = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var ErrorCodes;
(function (ErrorCodes) {
ErrorCodes.AbstractChild = {
FailParentNotFound: 'OSUI-GEN-01001',
};
ErrorCodes.Accordion = {
FailChildItemClicked: 'OSUI-GEN-07001',
FailSetNewChildItem: 'OSUI-GEN-07002',
FailToSetChildItemAction: 'OSUI-GEN-07003',
FailUnsetNewChildItem: 'OSUI-GEN-07004',
};
ErrorCodes.Dropdown = {
FailOptionItemClicked: 'OSUI-GEN-02001',
FailOptionItemKeyPressed: 'OSUI-GEN-02002',
FailSetNewOptionItem: 'OSUI-GEN-02003',
FailToSetOptionItemAction: 'OSUI-GEN-02004',
FailUnsetNewOptionItem: 'OSUI-GEN-02005',
HasNoImplementation: {
code: 'OSUI-GEN-02006',
message: 'This method has no implementation on this Dropdown Type.',
},
};
ErrorCodes.DropdownServerSide = {
FailOnSetIntersectionObserver: 'OSUI-GEN-0401',
};
ErrorCodes.RangeSlider = {
FailSetValue: 'OSUI-GEN-04001',
};
ErrorCodes.SectionIndex = {
FailChildItemClicked: 'OSUI-GEN-05001',
FailSetNewChildItem: 'OSUI-GEN-05002',
FailToSetChildItemAction: 'OSUI-GEN-05003',
FailUnsetNewChildItem: 'OSUI-GEN-05004',
};
ErrorCodes.SectionIndexItem = {
FailToSetTargetElement: 'OSUI-GEN-06001',
};
ErrorCodes.Tooltip = {
FailOnSetIntersectionObserver: 'OSUI-GEN-08001',
};
ErrorCodes.Tabs = {
FailChildItemClicked: 'OSUI-GEN-09001',
FailSetNewChildContentItem: 'OSUI-GEN-09002',
FailSetNewChildHeaderItem: 'OSUI-GEN-09003',
FailToSetChildItemAction: 'OSUI-GEN-09004',
FailUnsetNewChildContentItem: 'OSUI-GEN-09005',
FailUnsetNewChildHeaderItem: 'OSUI-GEN-09006',
};
ErrorCodes.AbstractParent = {
FailChildNotFound: 'OSUI-GEN-10001',
FailChildsNotFound: 'OSUI-GEN-10002',
FailTypeNotFound: 'OSUI-GEN-10003',
};
ErrorCodes.AbstractProviderPattern = {
FailProviderEventHandler: 'OSUI-GEN-11001',
FailProviderEventRemoval: {
code: 'OSUI-GEN-11002',
message: 'The event with this eventId does not exist',
},
FailProviderEventSet: {
code: 'OSUI-GEN-11003',
message: 'The provided eventName does not exist or is not supported by the provider',
},
};
ErrorCodes.ProviderEventsManager = {
FailPendingEventRemoval: 'OSUI-GEN-12001',
FailSavingPendingEvent: 'OSUI-GEN-12002',
FailSavedEventRemoval: 'OSUI-GEN-12003',
FailSavingEvent: 'OSUI-GEN-12004',
};
})(ErrorCodes = OSUI.ErrorCodes || (OSUI.ErrorCodes = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var GlobalEnum;
(function (GlobalEnum) {
let CommonPatternsProperties;
(function (CommonPatternsProperties) {
CommonPatternsProperties["ExtendedClass"] = "ExtendedClass";
})(CommonPatternsProperties = GlobalEnum.CommonPatternsProperties || (GlobalEnum.CommonPatternsProperties = {}));
let CssClassElements;
(function (CssClassElements) {
CssClassElements["AcessibilityStyleTag"] = "acessibility-style-tag";
CssClassElements["ActiveScreen"] = "active-screen";
CssClassElements["AsideExpandable"] = "aside-expandable";
CssClassElements["Container"] = "screen-container";
CssClassElements["Content"] = "content";
CssClassElements["DarkMode"] = "os-dark-mode";
CssClassElements["DeprecatedSubmenu"] = "submenu";
CssClassElements["Footer"] = "footer";
CssClassElements["Header"] = "header";
CssClassElements["HeaderHideOnScroll"] = "hide-header-on-scroll";
CssClassElements["HeaderIsFixed"] = "fixed-header";
CssClassElements["HeaderIsVisible"] = "header-is--visible";
CssClassElements["HeaderTopContent"] = "header-top-content";
CssClassElements["HighContrast"] = "os-high-contrast";
CssClassElements["InputNotValid"] = "not-valid";
CssClassElements["IsTouch"] = "is--touch";
CssClassElements["Layout"] = "layout";
CssClassElements["LayoutNative"] = "layout-native";
CssClassElements["LayoutSide"] = "layout-side";
CssClassElements["LayoutTop"] = "layout-top";
CssClassElements["List"] = "list";
CssClassElements["LoginPassword"] = "login-password";
CssClassElements["MainContent"] = "main-content";
CssClassElements["MenuLinks"] = "app-menu-links";
CssClassElements["Placeholder"] = "ph";
CssClassElements["Popup"] = "popup-dialog";
CssClassElements["SkipContent"] = "skip-nav";
})(CssClassElements = GlobalEnum.CssClassElements || (GlobalEnum.CssClassElements = {}));
let CSSSelectors;
(function (CSSSelectors) {
CSSSelectors["InputFormControl"] = "input.form-control";
CSSSelectors["IosBounceScroll"] = "ios .ios-bounce:not(.hide-header-on-scroll) .content";
CSSSelectors["LayoutNativeHeader"] = "layout-native:not(.hide-header-on-scroll) .header";
})(CSSSelectors = GlobalEnum.CSSSelectors || (GlobalEnum.CSSSelectors = {}));
let CSSVariables;
(function (CSSVariables) {
CSSVariables["FooterHeight"] = "--footer-height";
CSSVariables["HeaderContentHeight"] = "--header-size-content";
CSSVariables["OverlayOpacity"] = "--overlay-opacity";
CSSVariables["ViewportHeight"] = "--viewport-height";
})(CSSVariables = GlobalEnum.CSSVariables || (GlobalEnum.CSSVariables = {}));
let Position;
(function (Position) {
Position["Bottom"] = "bottom";
Position["BottomLeft"] = "bottom-left";
Position["BottomRight"] = "bottom-right";
Position["Center"] = "center";
Position["Left"] = "left";
Position["Right"] = "right";
Position["Top"] = "top";
Position["TopLeft"] = "top-left";
Position["TopRight"] = "top-right";
})(Position = GlobalEnum.Position || (GlobalEnum.Position = {}));
let FloatingAlignment;
(function (FloatingAlignment) {
FloatingAlignment["Center"] = "center";
FloatingAlignment["End"] = "end";
FloatingAlignment["Start"] = "start";
})(FloatingAlignment = GlobalEnum.FloatingAlignment || (GlobalEnum.FloatingAlignment = {}));
let FloatingPosition;
(function (FloatingPosition) {
FloatingPosition["Auto"] = "auto";
FloatingPosition["Bottom"] = "bottom";
FloatingPosition["BottomEnd"] = "bottom-end";
FloatingPosition["BottomStart"] = "bottom-start";
FloatingPosition["Center"] = "center";
FloatingPosition["Left"] = "left";
FloatingPosition["LeftEnd"] = "left-end";
FloatingPosition["LeftStart"] = "left-start";
FloatingPosition["Right"] = "right";
FloatingPosition["RightEnd"] = "right-end";
FloatingPosition["RightStart"] = "right-start";
FloatingPosition["Top"] = "top";
FloatingPosition["TopEnd"] = "top-end";
FloatingPosition["TopStart"] = "top-start";
})(FloatingPosition = GlobalEnum.FloatingPosition || (GlobalEnum.FloatingPosition = {}));
let CssProperties;
(function (CssProperties) {
CssProperties["Auto"] = "auto";
CssProperties["Initial"] = "initial";
CssProperties["MaxContent"] = "max-content";
CssProperties["None"] = "none";
CssProperties["PaddingTop"] = "padding-top";
})(CssProperties = GlobalEnum.CssProperties || (GlobalEnum.CssProperties = {}));
let DataBlocksTag;
(function (DataBlocksTag) {
DataBlocksTag["DataBlock"] = "[data-block]";
DataBlocksTag["Input"] = "[data-input]";
DataBlocksTag["Label"] = "[data-label]";
DataBlocksTag["TextArea"] = "[data-textarea]";
})(DataBlocksTag = GlobalEnum.DataBlocksTag || (GlobalEnum.DataBlocksTag = {}));
let DateFormat;
(function (DateFormat) {
DateFormat["D"] = "D";
DateFormat["d"] = "d";
DateFormat["DD"] = "DD";
DateFormat["DDD"] = "DDD";
DateFormat["M"] = "M";
DateFormat["m"] = "m";
DateFormat["MM"] = "MM";
DateFormat["MMM"] = "MMM";
DateFormat["Y"] = "Y";
DateFormat["y"] = "y";
DateFormat["YY"] = "YY";
DateFormat["YYY"] = "YYY";
DateFormat["YYYY"] = "YYYY";
})(DateFormat = GlobalEnum.DateFormat || (GlobalEnum.DateFormat = {}));
let Direction;
(function (Direction) {
Direction["Bottom"] = "bottom";
Direction["Down"] = "down";
Direction["Left"] = "left";
Direction["LTR"] = "ltr";
Direction["None"] = "";
Direction["Right"] = "right";
Direction["RTL"] = "rtl";
Direction["Top"] = "top";
Direction["TTB"] = "ttb";
Direction["Up"] = "up";
})(Direction = GlobalEnum.Direction || (GlobalEnum.Direction = {}));
let ScrollBehavior;
(function (ScrollBehavior) {
ScrollBehavior["Auto"] = "auto";
ScrollBehavior["Instant"] = "instant";
ScrollBehavior["Smooth"] = "smooth";
})(ScrollBehavior = GlobalEnum.ScrollBehavior || (GlobalEnum.ScrollBehavior = {}));
let ScrollPositionBehavior;
(function (ScrollPositionBehavior) {
ScrollPositionBehavior["Start"] = "start";
ScrollPositionBehavior["Center"] = "center";
ScrollPositionBehavior["End"] = "end";
ScrollPositionBehavior["Nearest"] = "nearest";
})(ScrollPositionBehavior = GlobalEnum.ScrollPositionBehavior || (GlobalEnum.ScrollPositionBehavior = {}));
let HTMLAttributes;
(function (HTMLAttributes) {
HTMLAttributes["AllowEventPropagation"] = "[data-allow-event-propagation=true], [data-allow-event-propagation=True]";
HTMLAttributes["Class"] = "class";
HTMLAttributes["DataInput"] = "data-input";
HTMLAttributes["Disabled"] = "disabled";
HTMLAttributes["Href"] = "href";
HTMLAttributes["Id"] = "id";
HTMLAttributes["Name"] = "name";
HTMLAttributes["StatusBar"] = "data-status-bar-height";
HTMLAttributes["Style"] = "style";
HTMLAttributes["Type"] = "type";
HTMLAttributes["Value"] = "value";
})(HTMLAttributes = GlobalEnum.HTMLAttributes || (GlobalEnum.HTMLAttributes = {}));
let HTMLElement;
(function (HTMLElement) {
HTMLElement["Body"] = "body";
HTMLElement["Button"] = "button";
HTMLElement["Div"] = "div";
HTMLElement["FieldSet"] = "fieldset";
HTMLElement["Input"] = "input";
HTMLElement["Link"] = "a";
HTMLElement["Radio"] = "radio";
HTMLElement["Span"] = "span";
})(HTMLElement = GlobalEnum.HTMLElement || (GlobalEnum.HTMLElement = {}));
let HTMLEvent;
(function (HTMLEvent) {
HTMLEvent["AnimationEnd"] = "animationend";
HTMLEvent["AnimationStart"] = "animationstart";
HTMLEvent["Blur"] = "blur";
HTMLEvent["Change"] = "change";
HTMLEvent["Click"] = "click";
HTMLEvent["Focus"] = "focus";
HTMLEvent["keyDown"] = "keydown";
HTMLEvent["MouseDown"] = "mousedown";
HTMLEvent["MouseEnter"] = "mouseenter";
HTMLEvent["MouseLeave"] = "mouseleave";
HTMLEvent["MouseUp"] = "mouseup";
HTMLEvent["OrientationChange"] = "orientationchange";
HTMLEvent["Prefix"] = "on";
HTMLEvent["Resize"] = "resize";
HTMLEvent["Scroll"] = "scroll";
HTMLEvent["ScrollEnd"] = "scrollend";
HTMLEvent["TouchEnd"] = "touchend";
HTMLEvent["TouchMove"] = "touchmove";
HTMLEvent["TouchStart"] = "touchstart";
HTMLEvent["TransitionEnd"] = "transitionend";
HTMLEvent["Message"] = "message";
})(HTMLEvent = GlobalEnum.HTMLEvent || (GlobalEnum.HTMLEvent = {}));
let CustomEvent;
(function (CustomEvent) {
CustomEvent["BalloonOnToggle"] = "balloon.onToggle";
})(CustomEvent = GlobalEnum.CustomEvent || (GlobalEnum.CustomEvent = {}));
let InlineStyle;
(function (InlineStyle) {
InlineStyle["Display"] = "display";
InlineStyle["Height"] = "height";
InlineStyle["Left"] = "left";
InlineStyle["Opacity"] = "opacity";
InlineStyle["PointerEvents"] = "pointerEvents";
InlineStyle["Top"] = "top";
InlineStyle["Transform"] = "transform";
InlineStyle["Width"] = "width";
})(InlineStyle = GlobalEnum.InlineStyle || (GlobalEnum.InlineStyle = {}));
GlobalEnum.InlineStyleValue = {
Display: {
block: 'block',
contents: 'contents',
inline: 'inline',
none: 'none',
unset: '',
},
};
let Keycodes;
(function (Keycodes) {
Keycodes["ArrowDown"] = "ArrowDown";
Keycodes["ArrowLeft"] = "ArrowLeft";
Keycodes["ArrowRight"] = "ArrowRight";
Keycodes["ArrowUp"] = "ArrowUp";
Keycodes["End"] = "End";
Keycodes["Enter"] = "Enter";
Keycodes["Escape"] = "Escape";
Keycodes["Home"] = "Home";
Keycodes["PageDown"] = "PageDown";
Keycodes["PageUp"] = "PageUp";
Keycodes["Shift"] = "Shift";
Keycodes["ShiftTab"] = "ShiftTab";
Keycodes["Space"] = " ";
Keycodes["Tab"] = "Tab";
})(Keycodes = GlobalEnum.Keycodes || (GlobalEnum.Keycodes = {}));
let KeyframesEffectOptions;
(function (KeyframesEffectOptions) {
KeyframesEffectOptions["EasingLinear"] = "linear";
KeyframesEffectOptions["FillBoth"] = "both";
})(KeyframesEffectOptions = GlobalEnum.KeyframesEffectOptions || (GlobalEnum.KeyframesEffectOptions = {}));
let MobileOS;
(function (MobileOS) {
MobileOS["Android"] = "android";
MobileOS["IOS"] = "ios";
MobileOS["MacOS"] = "osx";
MobileOS["Unknown"] = "unknown";
MobileOS["Windows"] = "windows";
})(MobileOS = GlobalEnum.MobileOS || (GlobalEnum.MobileOS = {}));
let Orientation;
(function (Orientation) {
Orientation["Horizontal"] = "horizontal";
Orientation["None"] = "";
Orientation["Vertical"] = "vertical";
})(Orientation = GlobalEnum.Orientation || (GlobalEnum.Orientation = {}));
let PatternName;
(function (PatternName) {
PatternName["Accordion"] = "Accordion";
PatternName["AccordionItem"] = "Accordion Item";
PatternName["AnimatedLabel"] = "Animated Label";
PatternName["Balloon"] = "Balloon";
PatternName["BottomSheet"] = "Bottom Sheet";
PatternName["ButtonLoading"] = "ButtonLoading";
PatternName["Carousel"] = "Carousel";
PatternName["Datepicker"] = "Datepicker";
PatternName["Dropdown"] = "Dropdown";
PatternName["DropdownServerSideItem"] = "DropdownServerSideItem";
PatternName["FlipContent"] = "Flip Content";
PatternName["FloatingActions"] = "Floating Actions";
PatternName["FloatingActionsItem"] = "Floating Actions Item";
PatternName["Gallery"] = "Gallery";
PatternName["InlineSvg"] = "InlineSVG";
PatternName["MonthPicker"] = "MonthPicker";
PatternName["Notification"] = "Notification";
PatternName["OverflowMenu"] = "OverflowMenu";
PatternName["ProgressBar"] = "Progress Bar";
PatternName["ProgressCircle"] = "Progress Circle";
PatternName["RangeSlider"] = "Range Slider";
PatternName["RangeSliderInterval"] = "Range Slider Interval";
PatternName["Rating"] = "Rating";
PatternName["Search"] = "Search";
PatternName["SectionIndex"] = "Section Index";
PatternName["SectionIndexItem"] = "Section Index Item";
PatternName["Sidebar"] = "Sidebar";
PatternName["Submenu"] = "Submenu";
PatternName["SwipeEvents"] = "SwipeEvents";
PatternName["Tabs"] = "Tabs";
PatternName["TabsContentItem"] = "TabsContentItem";
PatternName["TabsHeaderItem"] = "TabsHeaderItem";
PatternName["Timepicker"] = "Timepicker";
PatternName["Tooltip"] = "Tooltip";
PatternName["TouchEvents"] = "TouchEvents";
PatternName["Video"] = "Video";
})(PatternName = GlobalEnum.PatternName || (GlobalEnum.PatternName = {}));
let ShapeTypes;
(function (ShapeTypes) {
ShapeTypes["Rounded"] = "rounded";
ShapeTypes["Sharp"] = "none";
ShapeTypes["SoftRounded"] = "soft";
})(ShapeTypes = GlobalEnum.ShapeTypes || (GlobalEnum.ShapeTypes = {}));
let InputClassTypes;
(function (InputClassTypes) {
InputClassTypes["InputLarge"] = "input-large";
InputClassTypes["InputSmall"] = "input-small";
})(InputClassTypes = GlobalEnum.InputClassTypes || (GlobalEnum.InputClassTypes = {}));
let InputTypeAttr;
(function (InputTypeAttr) {
InputTypeAttr["Date"] = "date";
InputTypeAttr["DateTime"] = "date-time-edit";
InputTypeAttr["Password"] = "password";
InputTypeAttr["Text"] = "text";
InputTypeAttr["Time"] = "time";
})(InputTypeAttr = GlobalEnum.InputTypeAttr || (GlobalEnum.InputTypeAttr = {}));
let Units;
(function (Units) {
Units["Percentage"] = "%";
Units["Pixel"] = "px";
Units["Em"] = "em";
})(Units = GlobalEnum.Units || (GlobalEnum.Units = {}));
let Browser;
(function (Browser) {
Browser["chrome"] = "chrome";
Browser["edge"] = "edge";
Browser["firefox"] = "firefox";
Browser["ie"] = "ie";
Browser["kindle"] = "kindle";
Browser["miui"] = "miui";
Browser["opera"] = "opera";
Browser["safari"] = "safari";
Browser["samsung"] = "samsung";
Browser["uc"] = "uc";
Browser["unknown"] = "unknown";
Browser["yandex"] = "yandex";
})(Browser = GlobalEnum.Browser || (GlobalEnum.Browser = {}));
let DeviceOrientation;
(function (DeviceOrientation) {
DeviceOrientation["landscape"] = "landscape";
DeviceOrientation["portrait"] = "portrait";
DeviceOrientation["unknown"] = "unknown";
})(DeviceOrientation = GlobalEnum.DeviceOrientation || (GlobalEnum.DeviceOrientation = {}));
let DeviceType;
(function (DeviceType) {
DeviceType["desktop"] = "desktop";
DeviceType["phone"] = "phone";
DeviceType["tablet"] = "tablet";
})(DeviceType = GlobalEnum.DeviceType || (GlobalEnum.DeviceType = {}));
let NotchClasses;
(function (NotchClasses) {
NotchClasses["IPhoneX"] = "iphonex";
})(NotchClasses = GlobalEnum.NotchClasses || (GlobalEnum.NotchClasses = {}));
let FocusTrapClasses;
(function (FocusTrapClasses) {
FocusTrapClasses["FocusTrapBottom"] = "focus-trap-bottom";
FocusTrapClasses["FocusTrapTop"] = "focus-trap-top";
})(FocusTrapClasses = GlobalEnum.FocusTrapClasses || (GlobalEnum.FocusTrapClasses = {}));
let WarningMessages;
(function (WarningMessages) {
WarningMessages["FeatureNotImplemented"] = "This feature is not yet implemented!";
WarningMessages["MethodNotImplemented"] = "This Method has no implementation on the context of this pattern.";
})(WarningMessages = GlobalEnum.WarningMessages || (GlobalEnum.WarningMessages = {}));
let NullValues;
(function (NullValues) {
NullValues["Time"] = "00:00:00";
})(NullValues = GlobalEnum.NullValues || (GlobalEnum.NullValues = {}));
let ProviderEvents;
(function (ProviderEvents) {
ProviderEvents["Initialized"] = "Initialized";
ProviderEvents["OnProviderConfigsApplied"] = "OnProviderConfigsApplied";
})(ProviderEvents = GlobalEnum.ProviderEvents || (GlobalEnum.ProviderEvents = {}));
let SVGHelperConstants;
(function (SVGHelperConstants) {
SVGHelperConstants["DOMType"] = "image/svg+xml";
SVGHelperConstants["ParserError"] = "parsererror";
SVGHelperConstants["SVG"] = "svg";
})(SVGHelperConstants = GlobalEnum.SVGHelperConstants || (GlobalEnum.SVGHelperConstants = {}));
let Time;
(function (Time) {
Time[Time["HourInSeconds"] = 3600] = "HourInSeconds";
Time[Time["MinuteInSeconds"] = 60] = "MinuteInSeconds";
})(Time = GlobalEnum.Time || (GlobalEnum.Time = {}));
})(GlobalEnum = OSUI.GlobalEnum || (OSUI.GlobalEnum = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Behaviors;
(function (Behaviors) {
class DragParams {
constructor() {
this.DragOrientation = OSUI.GlobalEnum.Orientation.None;
this.ExpectedDirection = OSUI.GlobalEnum.Direction.Right;
this.InvalidDrag = false;
this.IsMoving = false;
this.IsOpen = false;
this.IsReadyToTriggerCallback = false;
this.LastX = 0;
this.LastY = 0;
this.MoveX = 0;
this.MoveY = 0;
this.Size = undefined;
this.VerticalDrag = false;
}
}
class AnimateOnDrag {
constructor(target) {
this._swipeTriggerSpeed = 0.3;
this._targetElement = target;
this._dragParams = new DragParams();
}
_checkIsDraggingInsideBounds(currentDrag) {
const move = this._dragParams.VerticalDrag ? this._dragParams.MoveY : this._dragParams.MoveX;
const last = this._dragParams.VerticalDrag ? this._dragParams.LastY : this._dragParams.LastX;
const isLeftOrUp = this._dragParams.ExpectedDirection === OSUI.GlobalEnum.Direction.Left ||
this._dragParams.ExpectedDirection === OSUI.GlobalEnum.Direction.Up;
const baseThreshold = move + (currentDrag - last);
return isLeftOrUp
? baseThreshold > -parseInt(this._dragParams.Size) && move + (currentDrag - last) <= 0
: baseThreshold < parseInt(this._dragParams.Size) && move + (currentDrag - last) >= 0;
}
_updateLastPositions(x, y) {
this._dragParams.LastX = x;
this._dragParams.LastY = y;
}
_updateUI() {
if (this._dragParams.IsMoving) {
if (this._dragParams.VerticalDrag) {
this._targetElement.style.transform = `translateY(${this._dragParams.MoveY}px)`;
}
else {
this._targetElement.style.transform = `translateX(${this._dragParams.MoveX}px)`;
}
requestAnimationFrame(this._updateUI.bind(this));
}
}
get dragParams() {
return this._dragParams;
}
onDragEnd(offsetX, offsetY, timeTaken, callback, springProperties) {
this._dragParams.IsMoving = false;
OSUI.Helper.Dom.Styles.RemoveClass(this._targetElement, OSUI.Constants.NoTransition);
if ((offsetX === 0 && offsetY === 0) || this._dragParams.InvalidDrag) {
this._targetElement.style.transform = '';
return;
}
const checkSwipeSpeed = (this._dragParams.VerticalDrag ? Math.abs(offsetY) : Math.abs(offsetX)) / timeTaken >
this._swipeTriggerSpeed;
const sizeThreshold = -parseInt(this._dragParams.Size) / 2;
const axisToValidate = this._dragParams.VerticalDrag ? this._dragParams.MoveY : this._dragParams.MoveX;
const swipedHalfWidth = axisToValidate < sizeThreshold;
this._dragParams.IsReadyToTriggerCallback = swipedHalfWidth || checkSwipeSpeed;
if (this._dragParams.IsReadyToTriggerCallback) {
callback();
}
else if ((springProperties === null || springProperties === void 0 ? void 0 : springProperties.addSpringAnimation) && this._dragParams.IsOpen) {
this._dragParams.SpringAnimation = SpringAnimation.CreateSpringAnimation(this._targetElement, offsetX, offsetY, this._dragParams.VerticalDrag ? OSUI.GlobalEnum.Orientation.Vertical : OSUI.GlobalEnum.Orientation.Horizontal, springProperties.springAnimationProperties);
this._dragParams.SpringAnimation.play();
}
this._targetElement.style.transform = '';
}
onDragMove(offsetX, offsetY, currentX, currentY, event) {
let _dragDirection;
if (!this._dragParams.VerticalDrag) {
_dragDirection = offsetX > 0 ? OSUI.GlobalEnum.Direction.Right : OSUI.GlobalEnum.Direction.Left;
}
else {
_dragDirection = offsetY < 0 ? OSUI.GlobalEnum.Direction.Up : OSUI.GlobalEnum.Direction.Down;
}
this._dragParams.InvalidDrag =
this._dragParams.IsOpen && _dragDirection !== this._dragParams.ExpectedDirection;
if (this._dragParams.InvalidDrag) {
this._updateLastPositions(currentX, currentY);
return;
}
if (this._dragParams.DragOrientation === '') {
const isHorizontal = Math.abs(offsetX) >= Math.abs(offsetY);
this._dragParams.DragOrientation = isHorizontal
? OSUI.GlobalEnum.Orientation.Horizontal
: OSUI.GlobalEnum.Orientation.Vertical;
requestAnimationFrame(this._updateUI.bind(this));
}
if (this._dragParams.VerticalDrag === false &&
this._dragParams.DragOrientation === OSUI.GlobalEnum.Orientation.Vertical) {
this._updateLastPositions(currentX, currentY);
return;
}
event.preventDefault();
const IsDraggingInsideBounds = this._checkIsDraggingInsideBounds(this._dragParams.VerticalDrag ? currentY : currentX);
if (IsDraggingInsideBounds) {
if (this._dragParams.VerticalDrag) {
this._dragParams.MoveY = this._dragParams.MoveY + (currentY - this._dragParams.LastY);
}
else {
this._dragParams.MoveX = this._dragParams.MoveX + (currentX - this._dragParams.LastX);
}
}
this._updateLastPositions(currentX, currentY);
}
onDragStart(verticalDrag, expectedDirection, currentX, currentY, isOpen, size) {
this._dragParams.DragOrientation = OSUI.GlobalEnum.Orientation.None;
this._dragParams.ExpectedDirection = expectedDirection;
this._dragParams.IsMoving = true;
this._dragParams.IsOpen = isOpen;
this._dragParams.LastX = currentX;
this._dragParams.LastY = currentY;
this._dragParams.Size = size;
this._dragParams.VerticalDrag = verticalDrag;
if (this._dragParams.SpringAnimation) {
this._dragParams.SpringAnimation.cancel();
}
if (this._dragParams.IsOpen) {
this._dragParams.MoveX = 0;
this._dragParams.MoveY = 0;
}
else if (this._dragParams.ExpectedDirection === OSUI.GlobalEnum.Direction.Left) {
this._dragParams.MoveX = -parseInt(this._dragParams.Size);
this._dragParams.MoveY = -parseInt(this._dragParams.Size);
}
else {
this._dragParams.MoveX = parseInt(this._dragParams.Size);
this._dragParams.MoveY = parseInt(this._dragParams.Size);
}
OSUI.Helper.Dom.Styles.AddClass(this._targetElement, OSUI.Constants.NoTransition);
}
}
Behaviors.AnimateOnDrag = AnimateOnDrag;
class OverlayTransitionOnDrag {
static Set(target, currentDragValue, direction, size) {
const isLeftOrUp = direction === OSUI.GlobalEnum.Direction.Left || direction === OSUI.GlobalEnum.Direction.Up;
const currentOpacity = parseInt(target.style.getPropertyValue(OSUI.GlobalEnum.CSSVariables.OverlayOpacity));
const percentageBeforeDif = (Math.abs(currentDragValue) * 100) / parseInt(size);
const percentage = isLeftOrUp ? 0 + percentageBeforeDif : 100 - percentageBeforeDif;
const newOpacity = Math.floor(percentage) / 100;
if (currentOpacity !== newOpacity && newOpacity % 1 !== 0) {
OSUI.Helper.Dom.Styles.SetStyleAttribute(target, OSUI.GlobalEnum.CSSVariables.OverlayOpacity, newOpacity);
}
}
static UnSet(target) {
OSUI.Helper.Dom.Styles.SetStyleAttribute(target, OSUI.GlobalEnum.CSSVariables.OverlayOpacity, 0);
}
}
Behaviors.OverlayTransitionOnDrag = OverlayTransitionOnDrag;
class SpringAnimation {
static _createSpringEffect(dx, dy, orientation, springProperties) {
if (dx === 0 && dy === 0)
return { positions: [], frames: 0 };
const tension = springProperties.tension;
const friction = springProperties.friction;
const mass = springProperties.mass;
const spring_length = 0;
const k = -tension;
const d = -friction;
const frame_rate = 1 / 60;
const displacement_threshold = 3;
const isVertical = orientation === OSUI.GlobalEnum.Orientation.Vertical;
let velocity = 0;
const positions = [];
let frames = 0;
let frames_below_threshold = 0;
let largest_displ;
let directionDisplacement = isVertical ? dy : dx;
for (let step = 0; step <= 1000; step += 1) {
const Fspring = k * (directionDisplacement - spring_length);
const Fdamping = d * velocity;
const accel = (Fspring + Fdamping) / mass;
velocity += accel * frame_rate;
directionDisplacement += velocity * frame_rate;
positions.push({
transform: isVertical
? `translateY(${directionDisplacement}px)`
: `translateX(${directionDisplacement}px)`,
});
largest_displ =
largest_displ < 0
? Math.max(largest_displ || -Infinity, Math.sqrt(directionDisplacement ** 2))
: Math.min(largest_displ || Infinity, Math.sqrt(directionDisplacement ** 2));
if (Math.abs(largest_displ) < displacement_threshold) {
frames_below_threshold += 1;
}
else {
frames_below_threshold = 0;
}
if (frames_below_threshold >= 60) {
frames = step;
break;
}
}
if (frames === 0) {
frames = 1000;
}
return { positions, frames };
}
static CreateSpringAnimation(target, offsetX, offsetY, orientation, springProperties) {
const { positions, frames } = this._createSpringEffect(offsetX, offsetY, orientation, springProperties);
const keyframes = new KeyframeEffect(target, positions, {
duration: (frames / 60) * 1000,
fill: OSUI.GlobalEnum.KeyframesEffectOptions.FillBoth,
easing: OSUI.GlobalEnum.KeyframesEffectOptions.EasingLinear,
iterations: 1,
});
return new Animation(keyframes);
}
}
Behaviors.SpringAnimation = SpringAnimation;
})(Behaviors = OSUI.Behaviors || (OSUI.Behaviors = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Behaviors;
(function (Behaviors) {
class FocusManager {
constructor() {
}
setFocusToStoredElement() {
if (this._lastFocusedElem === undefined ||
!document.body.contains(this._lastFocusedElem) ||
this._lastFocusedElem.hasAttribute(OSUI.GlobalEnum.HTMLAttributes.Disabled) ||
this._lastFocusedElem.tabIndex < 0) {
document.querySelector(OSFramework.OSUI.Constants.FocusableElems).focus();
}
else {
this._lastFocusedElem.focus();
}
}
storeLastFocusedElement() {
if (document.activeElement !== undefined &&
document.activeElement !== null &&
document.activeElement !== document.body)
this._lastFocusedElem = document.activeElement;
}
}
Behaviors.FocusManager = FocusManager;
})(Behaviors = OSUI.Behaviors || (OSUI.Behaviors = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Behaviors;
(function (Behaviors) {
class FocusTrap {
constructor(opts) {
this._canTargetContainOtherPatts = false;
this._hasBeenPassThoughFirstOne = false;
this._focusableElements = [];
this._targetElement = opts.focusTargetElement;
this._focusBottomCallback = opts.focusBottomCallback;
this._focusTopCallback = opts.focusTopCallback;
this._canTargetContainOtherPatts = opts.canContainOtherPatterns || false;
this._buildPredictableElements();
}
_buildPredictableElements() {
this._predictableTopElement = document.createElement(OSUI.GlobalEnum.HTMLElement.Span);
this._predictableBottomElement = document.createElement(OSUI.GlobalEnum.HTMLElement.Span);
this._targetElement.prepend(this._predictableTopElement);
this._targetElement.append(this._predictableBottomElement);
this._setFocusableProperties();
this._setFocusableElements();
}
_focusBottomHandler() {
this._focusHandler(this._predictableBottomElement, this._focusBottomCallback);
}
_focusHandler(focusableElement, callback) {
this._setFocusableElements();
if (callback === undefined) {
if (focusableElement === this._predictableTopElement && this._hasBeenPassThoughFirstOne === false) {
this._firstFocusableElement.focus();
this._hasBeenPassThoughFirstOne = true;
}
else {
this._lastFocusableElement.focus();
}
if (focusableElement === this._predictableBottomElement) {
this._firstFocusableElement.focus();
this._hasBeenPassThoughFirstOne = true;
}
}
else {
callback();
}
}
_focusTopHandler() {
this._focusHandler(this._predictableTopElement, this._focusTopCallback);
}
_removeEventListeners() {
this._predictableBottomElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.Focus, this._focusBottomHandler.bind(this));
this._predictableTopElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.Focus, this._focusTopHandler.bind(this));
}
_setEventListeners() {
this._predictableBottomElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.Focus, this._focusBottomHandler.bind(this));
this._predictableTopElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.Focus, this._focusTopHandler.bind(this));
}
_setFocusableElements(includeTabIndexHidden = false) {
includeTabIndexHidden = false;
this._focusableElements = OSUI.Helper.Dom.GetFocusableElements(this._targetElement, false);
for (const predictedElement of this._focusableElements.filter((item) => item === this._predictableTopElement || item === this._predictableBottomElement)) {
this._focusableElements.splice(this._focusableElements.indexOf(predictedElement), 1);
}
this._firstFocusableElement = this._focusableElements[0];
this._lastFocusableElement = this._focusableElements[this._focusableElements.length - 1];
}
_setFocusableProperties() {
OSUI.Helper.Dom.Styles.AddClass(this._predictableBottomElement, OSUI.GlobalEnum.FocusTrapClasses.FocusTrapBottom);
OSUI.Helper.Dom.Styles.AddClass(this._predictableBottomElement, OSUI.Constants.AccessibilityHideElementClass);
OSUI.Helper.Dom.Styles.AddClass(this._predictableTopElement, OSUI.GlobalEnum.FocusTrapClasses.FocusTrapTop);
OSUI.Helper.Dom.Styles.AddClass(this._predictableTopElement, OSUI.Constants.AccessibilityHideElementClass);
this.disableForA11y();
this._setEventListeners();
}
_unsetCallbacks() {
this._focusBottomCallback = undefined;
this._focusBottomHandler = undefined;
this._focusTopCallback = undefined;
this._focusTopHandler = undefined;
}
disableForA11y() {
this._hasBeenPassThoughFirstOne = false;
OSUI.Helper.A11Y.TabIndexFalse(this._predictableBottomElement);
OSUI.Helper.A11Y.TabIndexFalse(this._predictableTopElement);
OSUI.Helper.A11Y.AriaHiddenTrue(this._predictableBottomElement);
OSUI.Helper.A11Y.AriaHiddenTrue(this._predictableTopElement);
}
dispose() {
this._removeEventListeners();
this._unsetCallbacks();
this._predictableTopElement.remove();
this._predictableBottomElement.remove();
}
enableForA11y() {
OSUI.Helper.A11Y.TabIndexTrue(this._predictableBottomElement);
OSUI.Helper.A11Y.TabIndexTrue(this._predictableTopElement);
OSUI.Helper.A11Y.AriaHiddenFalse(this._predictableBottomElement);
OSUI.Helper.A11Y.AriaHiddenFalse(this._predictableTopElement);
this._setFocusableElements(true);
}
get bottomElement() {
return this._predictableBottomElement;
}
get topElement() {
return this._predictableTopElement;
}
get focusableElements() {
return this._focusableElements;
}
}
Behaviors.FocusTrap = FocusTrap;
})(Behaviors = OSUI.Behaviors || (OSUI.Behaviors = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Behaviors;
(function (Behaviors) {
const _controllScroll = {
yValue: 0,
yDirection: '',
};
function Scroll(element, options) {
if (element) {
element.scrollIntoView(options);
}
}
Behaviors.Scroll = Scroll;
function ScrollVerticalPosition(scrollableElement = OSUI.Helper.Dom.ClassSelector(document.body, OSUI.GlobalEnum.CssClassElements.ActiveScreen)) {
const winScroll = scrollableElement.scrollTop;
const height = scrollableElement.scrollHeight - scrollableElement.clientHeight;
const scrolled = Math.round((winScroll / height) * 100);
const scrolledPx = (scrollableElement.clientHeight * scrolled) / 100;
if (_controllScroll.yValue < winScroll) {
_controllScroll.yDirection = OSUI.GlobalEnum.Direction.Bottom;
}
else if (_controllScroll.yValue > winScroll) {
_controllScroll.yDirection = OSUI.GlobalEnum.Direction.Top;
}
_controllScroll.yValue = winScroll;
return {
direction: _controllScroll.yDirection,
percentageInView: scrolled,
pixelInView: scrolledPx,
scrollableHeight: scrollableElement.scrollHeight,
value: scrollableElement.scrollTop,
viewHeight: scrollableElement.clientHeight,
};
}
Behaviors.ScrollVerticalPosition = ScrollVerticalPosition;
})(Behaviors = OSUI.Behaviors || (OSUI.Behaviors = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Event;
(function (Event) {
var DOMEvents;
(function (DOMEvents) {
class AbstractEvent {
constructor() {
this._handlers = [];
}
get handlers() {
return this._handlers;
}
addHandler(handler) {
this._handlers.push(handler);
}
hasHandlers() {
return this._handlers.length > 0;
}
removeHandler(handler) {
const index = this._handlers.findIndex((hd) => {
return hd === handler;
});
if (index !== -1) {
this._handlers.splice(index, 1);
}
if (this.hasHandlers() === false) {
this.removeEvent();
}
}
trigger(data, ...args) {
this._handlers.slice(0).forEach((h) => OSUI.Helper.AsyncInvocation(h, data, ...args));
}
}
DOMEvents.AbstractEvent = AbstractEvent;
})(DOMEvents = Event.DOMEvents || (Event.DOMEvents = {}));
})(Event = OSUI.Event || (OSUI.Event = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Event;
(function (Event) {
var DOMEvents;
(function (DOMEvents) {
class AbstractEventsManager {
constructor() {
this._events = new Map();
}
addHandler(eventType, handler) {
if (this._events && this._events.has(eventType)) {
this._events.get(eventType).addHandler(handler);
}
else {
const ev = this.getInstanceOfEventType(eventType);
if (ev !== undefined) {
ev.addHandler(handler);
this._events.set(eventType, ev);
}
}
}
hasHandlers(eventType) {
let returnValue = false;
if (this._events.has(eventType)) {
const event = this._events.get(eventType);
returnValue = event.hasHandlers();
}
return returnValue;
}
removeHandler(eventType, handler) {
if (this._events.has(eventType)) {
const event = this._events.get(eventType);
event.removeHandler(handler);
if (event.handlers.length === 0) {
this._events.delete(eventType);
}
}
}
trigger(eventType, data, ...args) {
if (this._events.has(eventType)) {
this._events.get(eventType).trigger(data, args);
}
}
get events() {
return this._events;
}
}
DOMEvents.AbstractEventsManager = AbstractEventsManager;
})(DOMEvents = Event.DOMEvents || (Event.DOMEvents = {}));
})(Event = OSUI.Event || (OSUI.Event = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Event;
(function (Event) {
var DOMEvents;
(function (DOMEvents) {
var Listeners;
(function (Listeners) {
class AbstractListener extends DOMEvents.AbstractEvent {
constructor(eventTarget, eventType, isCustomEvent = false) {
super();
this.useCapture = false;
this._eventTarget = eventTarget;
this._eventType = eventType;
this._eventName = isCustomEvent === false ? OSUI.GlobalEnum.HTMLEvent.Prefix + this._eventType : this._eventType;
if (isCustomEvent) {
window[this._eventName] = this._eventName;
}
OSUI.Helper.AsyncInvocation(this.addEvent.bind(this));
}
addEvent() {
if (this._eventName in window || window[this._eventName] !== undefined) {
this._eventTarget.addEventListener(this._eventType, this.eventCallback);
}
}
removeEvent() {
if (this._eventName in window || window[this._eventName] !== undefined) {
this._eventTarget.removeEventListener(this._eventType, this.eventCallback);
}
}
get eventTarget() {
return this._eventTarget;
}
set eventTarget(el) {
this._eventTarget = el;
}
}
Listeners.AbstractListener = AbstractListener;
})(Listeners = DOMEvents.Listeners || (DOMEvents.Listeners = {}));
})(DOMEvents = Event.DOMEvents || (Event.DOMEvents = {}));
})(Event = OSUI.Event || (OSUI.Event = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Event;
(function (Event) {
var DOMEvents;
(function (DOMEvents) {
var Listeners;
(function (Listeners) {
class BalloonOnToggle extends Listeners.AbstractListener {
constructor() {
super(document, OSUI.GlobalEnum.CustomEvent.BalloonOnToggle, true);
this.eventCallback = this._onToggleTrigger.bind(this);
}
_onToggleTrigger(evt) {
this.trigger(OSUI.GlobalEnum.CustomEvent.BalloonOnToggle, evt);
}
}
Listeners.BalloonOnToggle = BalloonOnToggle;
})(Listeners = DOMEvents.Listeners || (DOMEvents.Listeners = {}));
})(DOMEvents = Event.DOMEvents || (Event.DOMEvents = {}));
})(Event = OSUI.Event || (OSUI.Event = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Event;
(function (Event) {
var DOMEvents;
(function (DOMEvents) {
var Listeners;
(function (Listeners) {
class BodyOnClick extends Listeners.AbstractListener {
constructor() {
super(document.body, OSUI.GlobalEnum.HTMLEvent.Click);
this._enableBodyClick = true;
this.eventCallback = this._bodyTrigger.bind(this);
}
_bodyTrigger(evt) {
if (this.getBodyClickStatus) {
this.trigger(OSUI.GlobalEnum.HTMLEvent.Click, evt);
}
}
disableBodyClickEvent() {
this._enableBodyClick = false;
}
enableBodyClickEvent() {
this._enableBodyClick = true;
}
get getBodyClickStatus() {
return this._enableBodyClick;
}
}
Listeners.BodyOnClick = BodyOnClick;
})(Listeners = DOMEvents.Listeners || (DOMEvents.Listeners = {}));
})(DOMEvents = Event.DOMEvents || (Event.DOMEvents = {}));
})(Event = OSUI.Event || (OSUI.Event = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Event;
(function (Event) {
var DOMEvents;
(function (DOMEvents) {
var Listeners;
(function (Listeners) {
class BodyOnMouseDown extends Listeners.AbstractListener {
constructor() {
super(document.body, OSUI.GlobalEnum.HTMLEvent.MouseDown);
this.eventCallback = this._bodyTrigger.bind(this);
}
_bodyTrigger(evt) {
this.trigger(OSUI.GlobalEnum.HTMLEvent.MouseDown, evt);
}
}
Listeners.BodyOnMouseDown = BodyOnMouseDown;
})(Listeners = DOMEvents.Listeners || (DOMEvents.Listeners = {}));
})(DOMEvents = Event.DOMEvents || (Event.DOMEvents = {}));
})(Event = OSUI.Event || (OSUI.Event = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Event;
(function (Event) {
var DOMEvents;
(function (DOMEvents) {
var Listeners;
(function (Listeners) {
let Type;
(function (Type) {
Type["BalloonOnToggle"] = "balloon.onToggle";
Type["BodyOnClick"] = "body.onclick";
Type["BodyOnMouseDown"] = "body.mousedown";
Type["OrientationChange"] = "window.onorientationchange";
Type["ScreenOnScroll"] = "screen.onscroll";
Type["WindowResize"] = "window.onresize";
Type["WindowMessage"] = "window.message";
})(Type = Listeners.Type || (Listeners.Type = {}));
})(Listeners = DOMEvents.Listeners || (DOMEvents.Listeners = {}));
})(DOMEvents = Event.DOMEvents || (Event.DOMEvents = {}));
})(Event = OSUI.Event || (OSUI.Event = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Event;
(function (Event) {
var DOMEvents;
(function (DOMEvents) {
var Listeners;
(function (Listeners) {
class ListenerManager extends DOMEvents.AbstractEventsManager {
getInstanceOfEventType(listenerType) {
switch (listenerType) {
case Listeners.Type.BalloonOnToggle:
return new Listeners.BalloonOnToggle();
case Listeners.Type.BodyOnClick:
return new Listeners.BodyOnClick();
case Listeners.Type.BodyOnMouseDown:
return new Listeners.BodyOnMouseDown();
case Listeners.Type.WindowResize:
return new Listeners.WindowResize();
case Listeners.Type.OrientationChange:
return new Listeners.OrientationChange();
case Listeners.Type.ScreenOnScroll:
return new Listeners.ScreenOnScroll();
case Listeners.Type.WindowMessage:
return new Listeners.WindowMessage();
default:
throw new Error(`The listener ${listenerType} is not supported.`);
}
}
}
Listeners.ListenerManager = ListenerManager;
class GlobalListenerManager {
static get Instance() {
return GlobalListenerManager._listenerManager;
}
}
GlobalListenerManager._listenerManager = new ListenerManager();
Listeners.GlobalListenerManager = GlobalListenerManager;
})(Listeners = DOMEvents.Listeners || (DOMEvents.Listeners = {}));
})(DOMEvents = Event.DOMEvents || (Event.DOMEvents = {}));
})(Event = OSUI.Event || (OSUI.Event = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Event;
(function (Event) {
var DOMEvents;
(function (DOMEvents) {
var Listeners;
(function (Listeners) {
class OrientationChange extends Listeners.AbstractListener {
constructor() {
super(window, OSUI.GlobalEnum.HTMLEvent.OrientationChange);
this.eventCallback = this._orientationTrigger.bind(this);
}
_orientationTrigger(evt) {
this.trigger(OSUI.GlobalEnum.HTMLEvent.OrientationChange, evt);
}
}
Listeners.OrientationChange = OrientationChange;
})(Listeners = DOMEvents.Listeners || (DOMEvents.Listeners = {}));
})(DOMEvents = Event.DOMEvents || (Event.DOMEvents = {}));
})(Event = OSUI.Event || (OSUI.Event = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Event;
(function (Event) {
var DOMEvents;
(function (DOMEvents) {
var Listeners;
(function (Listeners) {
function getScrollableScreenContainer() {
const layoutNative = OSUI.Helper.Dom.ClassSelector(document, OSUI.GlobalEnum.CssClassElements.LayoutNative);
let scrollableContainer = OSUI.Helper.Dom.ClassSelector(document, OSUI.GlobalEnum.CssClassElements.ActiveScreen);
if (OSUI.Helper.DeviceInfo.GetOperatingSystem() === OSUI.GlobalEnum.MobileOS.IOS && layoutNative !== undefined) {
scrollableContainer = OSUI.Helper.Dom.ClassSelector(document, `${OSUI.GlobalEnum.CssClassElements.ActiveScreen} ${OSUI.Constants.Dot}${OSUI.GlobalEnum.CssClassElements.Content}`);
}
return scrollableContainer !== undefined ? scrollableContainer : document.body;
}
class ScreenOnScroll extends Listeners.AbstractListener {
constructor() {
super(getScrollableScreenContainer(), OSUI.GlobalEnum.HTMLEvent.Scroll);
this.eventCallback = this._screenTrigger.bind(this);
}
_screenTrigger(evt) {
this.trigger(OSUI.GlobalEnum.HTMLEvent.Scroll, evt);
}
addHandler(handler) {
if (this.eventTarget !== getScrollableScreenContainer()) {
this.removeEvent();
this.eventTarget = getScrollableScreenContainer();
this.addEvent();
}
super.addHandler(handler);
}
}
Listeners.ScreenOnScroll = ScreenOnScroll;
})(Listeners = DOMEvents.Listeners || (DOMEvents.Listeners = {}));
})(DOMEvents = Event.DOMEvents || (Event.DOMEvents = {}));
})(Event = OSUI.Event || (OSUI.Event = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Event;
(function (Event) {
var DOMEvents;
(function (DOMEvents) {
var Listeners;
(function (Listeners) {
class WindowMessage extends Listeners.AbstractListener {
constructor() {
super(window, OSUI.GlobalEnum.HTMLEvent.Message);
this.eventCallback = this._windowTrigger.bind(this);
}
_windowTrigger(evt) {
this.trigger(OSUI.GlobalEnum.HTMLEvent.Message, evt);
}
}
Listeners.WindowMessage = WindowMessage;
})(Listeners = DOMEvents.Listeners || (DOMEvents.Listeners = {}));
})(DOMEvents = Event.DOMEvents || (Event.DOMEvents = {}));
})(Event = OSUI.Event || (OSUI.Event = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Event;
(function (Event) {
var DOMEvents;
(function (DOMEvents) {
var Listeners;
(function (Listeners) {
class WindowResize extends Listeners.AbstractListener {
constructor() {
super(window, OSUI.GlobalEnum.HTMLEvent.Resize);
this.eventCallback = this._windowTrigger.bind(this);
}
_windowTrigger(evt) {
window.clearTimeout(this._timeout);
this._timeout = window.setTimeout(() => {
this.trigger(OSUI.GlobalEnum.HTMLEvent.Resize, evt);
}, 100);
}
}
Listeners.WindowResize = WindowResize;
})(Listeners = DOMEvents.Listeners || (DOMEvents.Listeners = {}));
})(DOMEvents = Event.DOMEvents || (Event.DOMEvents = {}));
})(Event = OSUI.Event || (OSUI.Event = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Event;
(function (Event) {
var DOMEvents;
(function (DOMEvents) {
var Observers;
(function (Observers) {
class AbstractObserver extends DOMEvents.AbstractEvent {
constructor(observerOptions, observerTarget) {
super();
this._observerOptions = observerOptions;
this._observerTarget = observerTarget;
}
startObserver() {
this.observer.observe(this.observerTarget, this.observerOptions);
}
removeEvent() {
this.observer.disconnect();
}
get observerOptions() {
return this._observerOptions;
}
get observerTarget() {
return this._observerTarget;
}
}
Observers.AbstractObserver = AbstractObserver;
})(Observers = DOMEvents.Observers || (DOMEvents.Observers = {}));
})(DOMEvents = Event.DOMEvents || (Event.DOMEvents = {}));
})(Event = OSUI.Event || (OSUI.Event = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Event;
(function (Event) {
var DOMEvents;
(function (DOMEvents) {
var Observers;
(function (Observers) {
let ObserverEvent;
(function (ObserverEvent) {
ObserverEvent["RTL"] = "RTL";
})(ObserverEvent = Observers.ObserverEvent || (Observers.ObserverEvent = {}));
})(Observers = DOMEvents.Observers || (DOMEvents.Observers = {}));
})(DOMEvents = Event.DOMEvents || (Event.DOMEvents = {}));
})(Event = OSUI.Event || (OSUI.Event = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Event;
(function (Event) {
var DOMEvents;
(function (DOMEvents) {
var Observers;
(function (Observers) {
class ObserverManager extends DOMEvents.AbstractEventsManager {
getInstanceOfEventType(observerType) {
switch (observerType) {
case Observers.ObserverEvent.RTL:
return new Observers.MutationObservers.RTL.RTLObserver();
default:
throw new Error(`The observer ${observerType} is not supported.`);
}
}
}
Observers.ObserverManager = ObserverManager;
class GlobalObserverManager {
static get Instance() {
return GlobalObserverManager._observerManager;
}
}
GlobalObserverManager._observerManager = new ObserverManager();
Observers.GlobalObserverManager = GlobalObserverManager;
})(Observers = DOMEvents.Observers || (DOMEvents.Observers = {}));
})(DOMEvents = Event.DOMEvents || (Event.DOMEvents = {}));
})(Event = OSUI.Event || (OSUI.Event = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Event;
(function (Event) {
var DOMEvents;
(function (DOMEvents) {
var Observers;
(function (Observers) {
var MutationObservers;
(function (MutationObservers) {
class AbstractMutationObserver extends Observers.AbstractObserver {
constructor(observerOptions, observerTarget) {
super(observerOptions, observerTarget);
this.addEvent();
this.startObserver();
}
addEvent() {
this.observer = new MutationObserver(this.observerHandler.bind(this));
}
}
MutationObservers.AbstractMutationObserver = AbstractMutationObserver;
})(MutationObservers = Observers.MutationObservers || (Observers.MutationObservers = {}));
})(Observers = DOMEvents.Observers || (DOMEvents.Observers = {}));
})(DOMEvents = Event.DOMEvents || (Event.DOMEvents = {}));
})(Event = OSUI.Event || (OSUI.Event = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Event;
(function (Event) {
var DOMEvents;
(function (DOMEvents) {
var Observers;
(function (Observers) {
var MutationObservers;
(function (MutationObservers) {
var RTL;
(function (RTL) {
class RTLObserver extends MutationObservers.AbstractMutationObserver {
constructor() {
super(new RTL.RTLObserverConfigs(), document.body);
this._hasAlreadyRTL = document.body.classList.contains(OSFramework.OSUI.Constants.IsRTLClass);
}
observerHandler(mutationList) {
mutationList.forEach((mutation) => {
if (mutation.attributeName === OSUI.GlobalEnum.HTMLAttributes.Class) {
const mutationTarget = mutation.target;
const hasRTLNow = mutationTarget.classList.contains(OSFramework.OSUI.Constants.IsRTLClass);
if (this._hasAlreadyRTL !== hasRTLNow) {
this._hasAlreadyRTL = hasRTLNow;
this.trigger(Observers.ObserverEvent.RTL, mutation);
}
}
});
}
}
RTL.RTLObserver = RTLObserver;
})(RTL = MutationObservers.RTL || (MutationObservers.RTL = {}));
})(MutationObservers = Observers.MutationObservers || (Observers.MutationObservers = {}));
})(Observers = DOMEvents.Observers || (DOMEvents.Observers = {}));
})(DOMEvents = Event.DOMEvents || (Event.DOMEvents = {}));
})(Event = OSUI.Event || (OSUI.Event = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Event;
(function (Event) {
var DOMEvents;
(function (DOMEvents) {
var Observers;
(function (Observers) {
var MutationObservers;
(function (MutationObservers) {
var RTL;
(function (RTL) {
class RTLObserverConfigs {
constructor() {
this.attributeFilter = [OSUI.GlobalEnum.HTMLAttributes.Class];
this.attributeOldValue = true;
this.subtree = false;
}
}
RTL.RTLObserverConfigs = RTLObserverConfigs;
})(RTL = MutationObservers.RTL || (MutationObservers.RTL = {}));
})(MutationObservers = Observers.MutationObservers || (Observers.MutationObservers = {}));
})(Observers = DOMEvents.Observers || (DOMEvents.Observers = {}));
})(DOMEvents = Event.DOMEvents || (Event.DOMEvents = {}));
})(Event = OSUI.Event || (OSUI.Event = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Event;
(function (Event) {
class GestureParams {
}
class AbstractGestureEvent {
constructor(target) {
this._targetElement = target;
this._gestureParams = new GestureParams();
}
_eventTouchEnd() {
if (this._gestureParams.touchingElement) {
this._gestureParams.touchingElement = false;
this._gestureParams.offsetX = this._gestureParams.currentX - this._gestureParams.startX;
this._gestureParams.offsetY = this._gestureParams.currentY - this._gestureParams.startY;
this._gestureParams.timeTaken = new Date().getTime() - this._gestureParams.startTime;
if (this._endTriggerCallback) {
this._endTriggerCallback(this._gestureParams.offsetX, this._gestureParams.offsetY, this._gestureParams.timeTaken);
}
}
}
_eventTouchMove(evt) {
if (this._gestureParams.touchingElement) {
this._gestureParams.currentX = evt.changedTouches[0].pageX;
this._gestureParams.currentY = evt.changedTouches[0].pageY;
this._gestureParams.offsetX = this._gestureParams.currentX - this._gestureParams.startX;
this._gestureParams.offsetY = this._gestureParams.currentY - this._gestureParams.startY;
if (this._moveTriggerCallback !== undefined) {
this._moveTriggerCallback(this._gestureParams.currentX, this._gestureParams.currentY, this._gestureParams.offsetX, this._gestureParams.offsetY, this._gestureParams.event);
}
}
}
_eventTouchStart(evt) {
this._gestureParams.startTime = new Date().getTime();
this._gestureParams.startX = evt.changedTouches[0].pageX;
this._gestureParams.currentX = this._gestureParams.startX;
this._gestureParams.startY = evt.changedTouches[0].pageY;
this._gestureParams.currentY = this._gestureParams.startY;
this._gestureParams.touchingElement = true;
this._gestureParams.event = evt;
if (this._startTriggerCallback !== undefined) {
this._startTriggerCallback(this._gestureParams.startX, this._gestureParams.startY);
}
}
_removeEventListeners() {
if (this._targetElement) {
this._targetElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.TouchStart, this._startEvent);
this._targetElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.TouchMove, this._moveEvent);
this._targetElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.TouchEnd, this._endEvent);
}
}
_unsetCallbacks() {
this._endEvent = undefined;
this._moveEvent = undefined;
this._startEvent = undefined;
this._startTriggerCallback = undefined;
this._moveTriggerCallback = undefined;
this._endTriggerCallback = undefined;
}
setCallbacks(onStartCallback, onMoveCallback, onEndCallback) {
this._endEvent = this._eventTouchEnd.bind(this);
this._moveEvent = this._eventTouchMove.bind(this);
this._startEvent = this._eventTouchStart.bind(this);
this._startTriggerCallback = onStartCallback;
this._moveTriggerCallback = onMoveCallback;
this._endTriggerCallback = onEndCallback;
}
setEventListeners() {
if (this._targetElement) {
this._targetElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.TouchStart, this._startEvent);
this._targetElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.TouchMove, this._moveEvent);
this._targetElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.TouchEnd, this._endEvent);
}
}
get targetElement() {
return this._targetElement;
}
unsetTouchEvents() {
this._removeEventListeners();
this._unsetCallbacks();
}
}
Event.AbstractGestureEvent = AbstractGestureEvent;
})(Event = OSUI.Event || (OSUI.Event = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Event;
(function (Event) {
var GestureEvent;
(function (GestureEvent) {
class DragEvent extends Event.AbstractGestureEvent {
constructor(target) {
super(target);
}
setSwipeEvents(onStartCallback, onMoveCallback, onEndCallback) {
this.setCallbacks(onStartCallback, onMoveCallback, onEndCallback);
this.setEventListeners();
}
}
GestureEvent.DragEvent = DragEvent;
})(GestureEvent = Event.GestureEvent || (Event.GestureEvent = {}));
})(Event = OSUI.Event || (OSUI.Event = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Event;
(function (Event) {
var GestureEvent;
(function (GestureEvent) {
class SwipeEvent extends Event.AbstractGestureEvent {
constructor(target) {
super(target);
this._threshold = 10;
this._velocity = 0.3;
}
_onGestureEnd(offsetX, offsetY, timeTaken) {
if ((Math.abs(offsetX) > this._threshold || Math.abs(offsetY) > this._threshold) &&
(Math.abs(offsetX) / timeTaken > this._velocity || Math.abs(offsetY) / timeTaken > this._velocity)) {
if (Math.abs(offsetX) > Math.abs(offsetY)) {
if (offsetX > 0) {
this._swipeRightCallback();
}
else {
this._swipeLeftCallback();
}
}
else if (offsetY > 0) {
this._swipeDownCallback();
}
else {
this._swipeUpCallback();
}
}
}
setSwipeCallbacks(swipeDownCallback, swipeLeftCallback, swipeRightCallback, swipeUpCallback) {
this._swipeDownCallback = swipeDownCallback;
this._swipeLeftCallback = swipeLeftCallback;
this._swipeRightCallback = swipeRightCallback;
this._swipeUpCallback = swipeUpCallback;
this.setCallbacks(undefined, undefined, this._onGestureEnd);
}
setSwipeEvents(swipeDownCallback, swipeLeftCallback, swipeRightCallback, swipeUpCallback) {
this.setSwipeCallbacks(swipeDownCallback, swipeLeftCallback, swipeRightCallback, swipeUpCallback);
this.setEventListeners();
}
}
GestureEvent.SwipeEvent = SwipeEvent;
})(GestureEvent = Event.GestureEvent || (Event.GestureEvent = {}));
})(Event = OSUI.Event || (OSUI.Event = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Event;
(function (Event) {
var ProviderEvents;
(function (ProviderEvents) {
class ProviderEvent {
constructor(callback, eventName, eventUniqueId) {
this.callback = callback;
this.eventName = eventName;
this.eventUniqueId = eventUniqueId;
}
}
ProviderEvents.ProviderEvent = ProviderEvent;
})(ProviderEvents = Event.ProviderEvents || (Event.ProviderEvents = {}));
})(Event = OSUI.Event || (OSUI.Event = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Event;
(function (Event) {
var ProviderEvents;
(function (ProviderEvents) {
class ProviderEventsManager {
constructor() {
this._eventsMap = new Map();
this._pendingEventsMap = new Map();
}
addPendingEvent(eventName, callback, eventUniqueId) {
if (eventName === '' || callback === undefined || eventUniqueId === '') {
throw new Error(`${OSUI.ErrorCodes.ProviderEventsManager.FailSavingPendingEvent}: The event can not be saved.`);
}
const newEvent = new ProviderEvents.ProviderEvent(callback, eventName, eventUniqueId);
this._pendingEventsMap.set(eventUniqueId, newEvent);
}
removePendingEvent(eventUniqueId) {
const event = this._pendingEventsMap.has(eventUniqueId);
if (event) {
this._pendingEventsMap.delete(eventUniqueId);
}
else {
throw new Error(`${OSUI.ErrorCodes.ProviderEventsManager.FailPendingEventRemoval}: The event with eventId:'${eventUniqueId}' does not exist`);
}
}
removeSavedEvent(eventUniqueId) {
const event = this._eventsMap.has(eventUniqueId);
if (event) {
this._eventsMap.delete(eventUniqueId);
}
else {
throw new Error(`${OSUI.ErrorCodes.ProviderEventsManager.FailSavedEventRemoval}: The event with eventId:'${eventUniqueId}' does not exist`);
}
}
saveEvent(eventName, callback, eventUniqueId) {
if (eventName === '' || callback === undefined || eventUniqueId === '') {
throw new Error(`${OSUI.ErrorCodes.ProviderEventsManager.FailSavingEvent}: The event can not be saved.`);
}
let _newEvent;
if (this._pendingEventsMap.has(eventUniqueId)) {
_newEvent = this._pendingEventsMap.get(eventUniqueId);
this._pendingEventsMap.delete(eventUniqueId);
}
else {
_newEvent = new ProviderEvents.ProviderEvent(callback, eventName, eventUniqueId);
}
this._eventsMap.set(eventUniqueId, _newEvent);
}
get events() {
return this._eventsMap;
}
get pendingEvents() {
return this._pendingEventsMap;
}
get hasEvents() {
return this._eventsMap.size > 0;
}
get hasPendingEvents() {
return this._pendingEventsMap.size > 0;
}
}
ProviderEvents.ProviderEventsManager = ProviderEventsManager;
})(ProviderEvents = Event.ProviderEvents || (Event.ProviderEvents = {}));
})(Event = OSUI.Event || (OSUI.Event = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Feature;
(function (Feature) {
class AbstractFeature {
constructor(featurePattern, featureElem, options) {
this._featureOptions = options;
this._featureElem = featureElem;
this._featurePattern = featurePattern;
}
dispose() {
this._featureOptions = undefined;
this._featureElem = undefined;
}
get featureElem() {
return this._featureElem;
}
get featureOptions() {
return this._featureOptions;
}
get featurePattern() {
return this._featurePattern;
}
}
Feature.AbstractFeature = AbstractFeature;
})(Feature = OSUI.Feature || (OSUI.Feature = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Feature;
(function (Feature) {
var Balloon;
(function (Balloon_1) {
class Balloon extends Feature.AbstractFeature {
constructor(featurePattern, featureElem, options) {
super(featurePattern, featureElem, options);
this._isOpenedByApi = false;
this.isOpen = false;
this.build();
}
_bodyClickCallback(_args, e) {
var _a, _b;
const _eventTarget = e.target;
if (this.featureElem === undefined) {
return;
}
if (_eventTarget === ((_a = this.featureOptions) === null || _a === void 0 ? void 0 : _a.anchorElem) ||
((_b = this.featureOptions) === null || _b === void 0 ? void 0 : _b.anchorElem.contains(_eventTarget)) ||
this._isOpenedByApi ||
this.featureElem.contains(_eventTarget)) {
return;
}
if (this.isOpen) {
this._toggleBalloon(false, true);
e.stopPropagation();
}
}
_handleFocusBehavior() {
var _a, _b, _c;
const opts = {
focusTargetElement: ((_a = this.featureOptions.focusOptions.focusTrapParams) === null || _a === void 0 ? void 0 : _a.focusTargetElement) === undefined
? this._floatingOptions.AnchorElem.parentElement
: this.featureOptions.focusOptions.focusTrapParams.focusTargetElement,
focusBottomCallback: (_b = this.featureOptions.focusOptions.focusTrapParams) === null || _b === void 0 ? void 0 : _b.focusBottomCallback,
focusTopCallback: (_c = this.featureOptions.focusOptions.focusTrapParams) === null || _c === void 0 ? void 0 : _c.focusTopCallback,
};
this._focusTrapInstance = new OSUI.Behaviors.FocusTrap(opts);
this._focusManagerInstance = new OSUI.Behaviors.FocusManager();
}
_manageFocusInsideBalloon(arrowKeyPressed) {
if (this.featureOptions.focusOptions.elemToFocusOnOpen === undefined) {
if (this._focusableBalloonElements.length === 0 || arrowKeyPressed === undefined) {
this._currentFocusedElementIndex = undefined;
}
else if (arrowKeyPressed === OSUI.GlobalEnum.Keycodes.ArrowDown) {
if (this._currentFocusedElementIndex === undefined ||
this._currentFocusedElementIndex >= this._focusableBalloonElements.length - 1)
this._currentFocusedElementIndex = 0;
else
this._currentFocusedElementIndex = this._currentFocusedElementIndex + 1;
}
else if (arrowKeyPressed === OSUI.GlobalEnum.Keycodes.ArrowUp) {
if (this._currentFocusedElementIndex === undefined || this._currentFocusedElementIndex === 0)
this._currentFocusedElementIndex = this._focusableBalloonElements.length - 1;
else
this._currentFocusedElementIndex = this._currentFocusedElementIndex - 1;
}
if (this._currentFocusedElementIndex === undefined) {
OSUI.Helper.AsyncInvocation(() => {
this.featureElem.focus();
});
}
else {
OSUI.Helper.AsyncInvocation(() => {
this._focusableBalloonElements[this._currentFocusedElementIndex].focus();
});
}
}
else {
this.featureOptions.focusOptions.elemToFocusOnOpen.focus();
}
}
_onKeypressCallback(e) {
const isEscapedPressed = e.key === OSUI.GlobalEnum.Keycodes.Escape;
const isArrowDownPressed = e.key === OSUI.GlobalEnum.Keycodes.ArrowDown;
const isArrowUpPressed = e.key === OSUI.GlobalEnum.Keycodes.ArrowUp;
if (this.isOpen) {
if (isEscapedPressed) {
this.close();
e.stopPropagation();
}
else if (isArrowDownPressed || isArrowUpPressed) {
this._manageFocusInsideBalloon(e.key);
e.preventDefault();
}
}
e.stopPropagation();
}
_onWindowResize() {
if (this.isOpen) {
this.close();
}
}
_removeEventListeners() {
this.featureElem.removeEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventOnKeypress);
OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.removeHandler(OSUI.Event.DOMEvents.Listeners.Type.BodyOnClick, this._eventBodyClick);
if (this.featureOptions.useTriggerWidth && OSUI.Helper.DeviceInfo.IsMobileDevice === false) {
OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.removeHandler(OSUI.Event.DOMEvents.Listeners.Type.WindowResize, this._eventOnWindowResize);
}
}
_setA11YProperties() {
OSUI.Helper.Dom.Attribute.Set(this.featureElem, OSUI.Constants.A11YAttributes.Aria.Hidden, (!this.isOpen).toString());
if (this.featureOptions.focusOptions.useFocus !== false) {
OSUI.Helper.A11Y.SetElementsTabIndex(this.isOpen, this._focusTrapInstance.focusableElements);
OSUI.Helper.Dom.Attribute.Set(this.featureElem, OSUI.Constants.A11YAttributes.TabIndex, this.isOpen
? OSUI.Constants.A11YAttributes.States.TabIndexShow
: OSUI.Constants.A11YAttributes.States.TabIndexHidden);
OSUI.Helper.Dom.Attribute.Set(this._floatingOptions.AnchorElem, OSUI.Constants.A11YAttributes.TabIndex, this.isOpen
? OSUI.Constants.A11YAttributes.States.TabIndexHidden
: OSUI.Constants.A11YAttributes.States.TabIndexShow);
}
}
_setBalloonWidth() {
const _balloonWidth = this.featureOptions.useTriggerWidth
? this.featureOptions.anchorElem.offsetWidth + OSUI.GlobalEnum.Units.Pixel
: OSUI.GlobalEnum.CssProperties.MaxContent;
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.featureElem, Balloon_1.Enum.CssCustomProperties.Width, _balloonWidth);
}
_setCallbacks() {
this._eventBodyClick = this._bodyClickCallback.bind(this);
this._eventOnKeypress = this._onKeypressCallback.bind(this);
this._eventOnWindowResize = this._onWindowResize.bind(this);
this._onToggleEvent = function dispatchCustomEvent(isOpen, balloonElem) {
const _customEvent = new CustomEvent(OSUI.GlobalEnum.CustomEvent.BalloonOnToggle, {
detail: { isOpen: isOpen, balloonElem: balloonElem },
});
document.dispatchEvent(_customEvent);
};
}
_setEventListeners() {
if (this.featureOptions.focusOptions.useFocus !== false) {
this.featureElem.addEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventOnKeypress);
}
if (this.isOpen) {
OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.addHandler(OSUI.Event.DOMEvents.Listeners.Type.BodyOnClick, this._eventBodyClick);
}
if (this.featureOptions.useTriggerWidth && OSUI.Helper.DeviceInfo.IsMobileDevice === false) {
OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.addHandler(OSUI.Event.DOMEvents.Listeners.Type.WindowResize, this._eventOnWindowResize);
}
}
_toggleBalloon(isOpen, isBodyClick = false, arrowKeyPressed) {
this.isOpen = isOpen;
if (this.isOpen) {
OSUI.Helper.Dom.Styles.AddClass(this.featureElem, Balloon_1.Enum.CssClasses.IsOpen);
if (this.featureOptions.useTriggerWidth) {
this._setBalloonWidth();
}
this.setFloatingBehaviour();
OSUI.Helper.AsyncInvocation(this._setEventListeners.bind(this));
}
else {
OSUI.Helper.Dom.Styles.RemoveClass(this.featureElem, Balloon_1.Enum.CssClasses.IsOpen);
this._floatingInstance.unsetFloatingPosition();
this._removeEventListeners();
}
this._setA11YProperties();
if (this.isOpen) {
if (this.featureOptions.focusOptions.useFocus !== false) {
this._focusManagerInstance.storeLastFocusedElement();
this._focusTrapInstance.enableForA11y();
}
if (this.featureOptions.focusOptions.useFocus !== false) {
this._focusableBalloonElements = this.featureElem.querySelectorAll(OSUI.Constants.FocusableElems);
this._manageFocusInsideBalloon(arrowKeyPressed);
}
}
else if (this.featureOptions.focusOptions.useFocus !== false) {
this._focusTrapInstance.disableForA11y();
OSUI.Helper.AsyncInvocation(() => {
this.featureElem.blur();
if (isBodyClick === false) {
this._focusManagerInstance.setFocusToStoredElement();
}
});
this._focusableBalloonElements = undefined;
this._currentFocusedElementIndex = undefined;
}
this._onToggleEvent(this.isOpen, this.featureElem);
OSUI.Helper.AsyncInvocation(() => {
this._isOpenedByApi = false;
});
}
_unsetCallbacks() {
this._eventBodyClick = undefined;
this._eventOnKeypress = undefined;
this._onToggleEvent = undefined;
this._eventOnWindowResize = undefined;
window[OSFramework.OSUI.GlobalEnum.CustomEvent.BalloonOnToggle] = undefined;
}
build() {
this._setCallbacks();
this._setEventListeners();
this.setFloatingConfigs();
if (this.featureOptions.focusOptions.useFocus !== false) {
this._handleFocusBehavior();
}
this._setA11YProperties();
this._setBalloonWidth();
this.setBalloonShape();
}
close() {
if (this.isOpen && this.featureElem !== undefined) {
this._toggleBalloon(false);
}
}
dispose() {
var _a;
(_a = this._floatingInstance) === null || _a === void 0 ? void 0 : _a.dispose();
this._removeEventListeners();
this._unsetCallbacks();
super.dispose();
}
open(isOpenedByApi, arrowKeyPressed) {
if (this.isOpen === false && this.featureElem !== undefined) {
this._isOpenedByApi = isOpenedByApi;
this._toggleBalloon(true, false, arrowKeyPressed);
}
}
setBalloonShape(shape) {
if (shape !== undefined) {
this.featureOptions.shape = shape;
}
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.featureElem, Balloon_1.Enum.CssCustomProperties.Shape, 'var(--border-radius-' + this.featureOptions.shape + ')');
}
setFloatingBehaviour(isUpdate) {
if (isUpdate || this._floatingInstance === undefined) {
this.setFloatingConfigs();
if (isUpdate && this._floatingInstance !== undefined) {
this._floatingInstance.update(this._floatingOptions);
}
else {
this._floatingInstance = new OSUI.Utils.FloatingPosition.Factory.NewFloatingPosition(this._floatingOptions, OSUI.Utils.FloatingPosition.Enum.Provider.FloatingUI);
}
}
else {
this._floatingInstance.build();
}
}
setFloatingConfigs() {
this._floatingOptions = {
AutoPlacement: this.featureOptions.position === OSUI.GlobalEnum.FloatingPosition.Auto,
AnchorElem: this.featureOptions.anchorElem,
ArrowElem: this.featureOptions.arrowElem,
AutoPlacementOptions: {
alignment: this.featureOptions.alignment,
allowedPlacements: this.featureOptions.allowedPlacements,
},
FloatingElem: this.featureElem,
Position: this.featureOptions.position,
UpdatePosition: true,
};
}
updateFloatingConfigs(floatingConfigs) {
if (floatingConfigs !== undefined) {
this._floatingOptions = floatingConfigs;
}
this.setFloatingBehaviour(true);
}
updatePositionOption(position) {
this.featureOptions.position = position;
this.setFloatingBehaviour(true);
}
}
Balloon_1.Balloon = Balloon;
})(Balloon = Feature.Balloon || (Feature.Balloon = {}));
})(Feature = OSUI.Feature || (OSUI.Feature = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Feature;
(function (Feature) {
var Balloon;
(function (Balloon) {
var Enum;
(function (Enum) {
let CssClasses;
(function (CssClasses) {
CssClasses["IsOpen"] = "osui-balloon--is-open";
CssClasses["Pattern"] = "osui-balloon";
})(CssClasses = Enum.CssClasses || (Enum.CssClasses = {}));
let CssCustomProperties;
(function (CssCustomProperties) {
CssCustomProperties["Shape"] = "--osui-balloon-shape";
CssCustomProperties["Width"] = "--osui-balloon-width";
})(CssCustomProperties = Enum.CssCustomProperties || (Enum.CssCustomProperties = {}));
let Properties;
(function (Properties) {
Properties["AnchorId"] = "AnchorId";
Properties["BalloonPosition"] = "BalloonPosition";
Properties["BalloonShape"] = "BalloonShape";
})(Properties = Enum.Properties || (Enum.Properties = {}));
})(Enum = Balloon.Enum || (Balloon.Enum = {}));
})(Balloon = Feature.Balloon || (Feature.Balloon = {}));
})(Feature = OSUI.Feature || (OSUI.Feature = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Helper;
(function (Helper) {
function AsyncInvocation(callback, ...args) {
if (callback) {
return window.setTimeout(() => callback(...args), 0);
}
return 0;
}
Helper.AsyncInvocation = AsyncInvocation;
function ApplySetTimeOut(callback, time, ...args) {
if (callback) {
return window.setTimeout(() => callback(...args), time);
}
return 0;
}
Helper.ApplySetTimeOut = ApplySetTimeOut;
})(Helper = OSUI.Helper || (OSUI.Helper = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Helper;
(function (Helper) {
class Dates {
static GetTimeFromDate(_date) {
const _selectedHour = _date.getHours() < 10 ? '0' + _date.getHours() : _date.getHours();
const _selectedMin = _date.getMinutes() < 10 ? '0' + _date.getMinutes() : _date.getMinutes();
const _selectedSec = _date.getSeconds() < 10 ? '0' + _date.getSeconds() : _date.getSeconds();
return _selectedHour + ':' + _selectedMin + ':' + _selectedSec;
}
static IsBeforeThan(date1, date2) {
return Date.parse(date1) <= Date.parse(date2);
}
static IsNull(date) {
let _date;
if (typeof date === 'string') {
if (Number.isNaN(Date.parse(date))) {
throw new Error(`The given date '${date}' it's not a valid date.`);
}
_date = new Date(Date.parse(date));
}
else if (date instanceof Date) {
_date = date;
}
else {
return true;
}
if (_date.getFullYear() === 1900 && _date.getMonth() === 0 && _date.getDate() === 1) {
return true;
}
return false;
}
static IsValid(date) {
return !Number.isNaN(Number(this.NormalizeDate(date)));
}
static NormalizeDate(date) {
let currDate;
if (date.indexOf('T') > -1) {
currDate = new Date(date);
}
else {
currDate = new Date(date.replace(/-/g, '/'));
}
return currDate;
}
static NormalizeDateTime(date, normalizeToMax) {
let _newDate = date;
if (typeof _newDate === 'string') {
_newDate = new Date(date);
}
if (normalizeToMax) {
_newDate.setHours(23, 59, 59, 59);
}
else {
_newDate.setHours(0, 0, 0, 0);
}
return _newDate;
}
static SetServerDateFormat(date) {
Dates._serverFormat = date.replace('13', 'DD').replace('10', 'MM').replace('1900', 'YYYY');
}
static get ServerFormat() {
return Dates._serverFormat;
}
}
Dates._serverFormat = '';
Helper.Dates = Dates;
})(Helper = OSUI.Helper || (OSUI.Helper = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Helper;
(function (Helper) {
let UAKeyword;
(function (UAKeyword) {
UAKeyword["chrome"] = "chrome";
UAKeyword["crios"] = "crios";
UAKeyword["edge"] = "edge";
UAKeyword["edgios"] = "edgios";
UAKeyword["edga"] = "edga";
UAKeyword["edg"] = "edg/";
UAKeyword["firefox"] = "firefox";
UAKeyword["fxios"] = "fxios";
UAKeyword["kindle"] = "kindle";
UAKeyword["silk"] = "silk";
UAKeyword["kfapwa"] = "kfapwa";
UAKeyword["kfapwi"] = "kfapwi";
UAKeyword["kfjwa"] = "kfjwa";
UAKeyword["kfjwi"] = "kfjwi";
UAKeyword["kfsowi"] = "kfsowi";
UAKeyword["kftt"] = "kftt";
UAKeyword["kfot"] = "kfot";
UAKeyword["kfthwa"] = "kfthwa";
UAKeyword["kfthwi"] = "kfthwi";
UAKeyword["miuibrowser"] = "miuibrowser";
UAKeyword["msie"] = "msie";
UAKeyword["opera"] = "opera";
UAKeyword["opr"] = "opr";
UAKeyword["opios"] = "opios";
UAKeyword["safari"] = "safari";
UAKeyword["samsungbrowser"] = "samsungbrowser";
UAKeyword["trident"] = "trident";
UAKeyword["ucbrowser"] = "ucbrowser";
UAKeyword["yabrowser"] = "yabrowser";
})(UAKeyword || (UAKeyword = {}));
let OperatingSystemKeyword;
(function (OperatingSystemKeyword) {
OperatingSystemKeyword["Android"] = "android";
OperatingSystemKeyword["Ipad"] = "ipad";
OperatingSystemKeyword["Iphone"] = "iphone";
OperatingSystemKeyword["MacOS"] = "mac";
OperatingSystemKeyword["Windows"] = "windows";
})(OperatingSystemKeyword || (OperatingSystemKeyword = {}));
const iphoneDevices = [
{ width: 1125, height: 2436, description: 'iphone x/xs' },
{ width: 828, height: 1792, description: 'iphone xr' },
{ width: 750, height: 1624, description: 'iphone xr scaled' },
{ width: 1242, height: 2688, description: 'iphone xs max' },
{ width: 828, height: 1792, description: 'iphone 11' },
{ width: 1125, height: 2436, description: 'iphone 11 pro' },
{ width: 1242, height: 2688, description: 'iphone 11 pro max' },
{ width: 1125, height: 2436, description: 'iphone 12 mini' },
{ width: 1170, height: 2532, description: 'iphone 12' },
{ width: 1170, height: 2532, description: 'iphone 12 pro' },
{ width: 1284, height: 2778, description: 'iphone 12 pro max' },
{ width: 1125, height: 2436, description: 'iphone 13 mini' },
{ width: 1170, height: 2532, description: 'iphone 13' },
{ width: 1170, height: 2532, description: 'iphone 13 pro' },
{ width: 1284, height: 2778, description: 'iphone 13 pro max' },
{ width: 1170, height: 2532, description: 'iphone 14' },
{ width: 1284, height: 2778, description: 'iphone 14 plus' },
{ width: 1179, height: 2556, description: 'iphone 14 pro' },
{ width: 1290, height: 2796, description: 'iphone 14 pro max' },
];
class DeviceInfo {
static _getOperatingSystem(userAgent = '') {
const userAgentLocal = DeviceInfo._getUserAgent(userAgent);
let localOs = OSUI.GlobalEnum.MobileOS.Unknown;
if (userAgentLocal.includes(OperatingSystemKeyword.Android)) {
localOs = OSUI.GlobalEnum.MobileOS.Android;
}
else if (userAgentLocal.includes(OperatingSystemKeyword.Windows)) {
localOs = OSUI.GlobalEnum.MobileOS.Windows;
}
else if (userAgentLocal.includes(OperatingSystemKeyword.Ipad) ||
userAgentLocal.includes(OperatingSystemKeyword.Iphone)) {
localOs = OSUI.GlobalEnum.MobileOS.IOS;
}
else if (userAgentLocal.includes(OperatingSystemKeyword.MacOS)) {
localOs = OSUI.GlobalEnum.MobileOS.MacOS;
}
return localOs;
}
static _getUserAgent(userAgent = '') {
let localUserAgent = userAgent;
if (userAgent.replace(/ /g, '') === '') {
if (sessionStorage.previewDevicesUserAgent) {
localUserAgent = sessionStorage.previewDevicesUserAgent;
}
else {
localUserAgent = window.navigator.userAgent;
}
}
return localUserAgent.toLowerCase();
}
static _isChrome(ua) {
return ua.includes(UAKeyword.chrome) || ua.includes(UAKeyword.crios);
}
static _isEdge(ua) {
return (ua.includes(UAKeyword.edge) ||
ua.includes(UAKeyword.edgios) ||
ua.includes(UAKeyword.edga) ||
ua.includes(UAKeyword.edg));
}
static _isFirefox(ua) {
return ua.includes(UAKeyword.firefox) || ua.includes(UAKeyword.fxios);
}
static _isIE(ua) {
return ua.includes(UAKeyword.trident) || ua.includes(UAKeyword.msie);
}
static _isKindle(ua) {
return (ua.includes(UAKeyword.kindle) ||
ua.includes(UAKeyword.silk) ||
ua.includes(UAKeyword.kftt) ||
ua.includes(UAKeyword.kfot) ||
ua.includes(UAKeyword.kfjwa) ||
ua.includes(UAKeyword.kfjwi) ||
ua.includes(UAKeyword.kfsowi) ||
ua.includes(UAKeyword.kfthwa) ||
ua.includes(UAKeyword.kfthwi) ||
ua.includes(UAKeyword.kfapwa) ||
ua.includes(UAKeyword.kfapwi));
}
static _isMiui(ua) {
return ua.includes(UAKeyword.miuibrowser);
}
static _isOpera(ua) {
return ua.includes(UAKeyword.opr) || ua.includes(UAKeyword.opera) || ua.includes(UAKeyword.opios);
}
static _isRtlLanguage() {
const rtlLanguages = ['ar', 'he', 'fa', 'ur', 'ps', 'syr', 'yi', 'ku', 'dv', 'ps', 'sd', 'ug'];
const userLanguage = navigator.language.split('-')[0];
return rtlLanguages.includes(userLanguage);
}
static _isSafari(ua) {
return ua.includes(UAKeyword.safari);
}
static _isSamsung(ua) {
return ua.includes(UAKeyword.samsungbrowser);
}
static _isUC(ua) {
return ua.includes(UAKeyword.ucbrowser);
}
static _isYandex(ua) {
return ua.includes(UAKeyword.yabrowser);
}
static get HasAccessibilityEnabled() {
return Helper.Dom.ClassSelector(document.body, OSUI.Constants.HasAccessibilityClass) !== undefined;
}
static get IsDesktop() {
return DeviceInfo.GetDeviceType() === OSUI.GlobalEnum.DeviceType.desktop;
}
static get IsPhone() {
return DeviceInfo.GetDeviceType() === OSUI.GlobalEnum.DeviceType.phone;
}
static get IsIphoneWithNotch() {
if (DeviceInfo._isIphoneWithNotch === undefined) {
const ratio = (sessionStorage.previewDevicesPixelRatio
? sessionStorage.previewDevicesPixelRatio
: window.devicePixelRatio) || 1;
const currScreen = {
width: (window.visualViewport ? window.visualViewport.width : window.innerWidth) * ratio,
height: (window.visualViewport ? window.visualViewport.height : window.innerHeight) * ratio,
description: '',
};
DeviceInfo._iphoneDetails = iphoneDevices.find((device) => {
return device.height === currScreen.height && device.width === currScreen.width;
});
DeviceInfo._isIphoneWithNotch = DeviceInfo._iphoneDetails !== undefined;
}
return DeviceInfo._isIphoneWithNotch;
}
static get IsRtlLang() {
return DeviceInfo._isRtlLanguage();
}
static get IsTablet() {
return DeviceInfo.GetDeviceType() === OSUI.GlobalEnum.DeviceType.tablet;
}
static get IsPwa() {
if (DeviceInfo._isPwa === undefined) {
DeviceInfo._isPwa =
(window.matchMedia && window.matchMedia('(display-mode: standalone)').matches) ||
window.navigator.standalone === true;
}
return DeviceInfo._isPwa;
}
static get IsNative() {
if (DeviceInfo._isNativeApp === undefined) {
DeviceInfo._isNativeApp = window.cordova !== undefined && !DeviceInfo.IsPwa;
}
return DeviceInfo._isNativeApp;
}
static get IsAndroid() {
if (DeviceInfo._isAndroid === undefined) {
DeviceInfo._isAndroid = Helper.Dom.Styles.ContainsClass(document.body, OSUI.GlobalEnum.MobileOS.Android);
}
return DeviceInfo._isAndroid;
}
static get IsIos() {
if (DeviceInfo._isIos === undefined) {
DeviceInfo._isIos = Helper.Dom.Styles.ContainsClass(document.body, OSUI.GlobalEnum.MobileOS.IOS);
}
return DeviceInfo._isIos;
}
static get IsTouch() {
if (DeviceInfo._isTouch === undefined) {
if (window.PointerEvent && 'maxTouchPoints' in navigator) {
DeviceInfo._isTouch = navigator.maxTouchPoints > 0;
}
else {
DeviceInfo._isTouch = window.matchMedia && window.matchMedia('(any-pointer:coarse)').matches;
if (!DeviceInfo._isTouch) {
DeviceInfo._isTouch = !!(window.TouchEvent || 'ontouchstart' in window);
}
}
}
return DeviceInfo._isTouch;
}
static get IsMobileDevice() {
const isMobileDevice = DeviceInfo.GetOperatingSystem() === OSUI.GlobalEnum.MobileOS.Android ||
DeviceInfo.GetOperatingSystem() === OSUI.GlobalEnum.MobileOS.IOS;
return isMobileDevice;
}
static get NotchPosition() {
let notchPosition = undefined;
let windowOrientation = undefined;
if (window !== null && 'orientation' in window) {
windowOrientation = window.orientation;
}
else if ('orientation' in window.screen) {
windowOrientation = window.screen.orientation.angle;
}
if (windowOrientation === undefined) {
return notchPosition;
}
switch (windowOrientation) {
case 90:
notchPosition = OSUI.GlobalEnum.Position.Left;
break;
case -90:
notchPosition = OSUI.GlobalEnum.Position.Right;
break;
default:
notchPosition = OSUI.GlobalEnum.Position.Top;
}
return notchPosition;
}
static GetBrowser(userAgent = '') {
let browser = OSUI.GlobalEnum.Browser.unknown;
if (userAgent.trim() !== '') {
const userAgentLocal = DeviceInfo._getUserAgent(userAgent);
if (DeviceInfo._isKindle(userAgentLocal))
browser = OSUI.GlobalEnum.Browser.kindle;
else if (DeviceInfo._isOpera(userAgentLocal))
browser = OSUI.GlobalEnum.Browser.opera;
else if (DeviceInfo._isEdge(userAgentLocal))
browser = OSUI.GlobalEnum.Browser.edge;
else if (DeviceInfo._isSamsung(userAgentLocal))
browser = OSUI.GlobalEnum.Browser.samsung;
else if (DeviceInfo._isYandex(userAgentLocal))
browser = OSUI.GlobalEnum.Browser.yandex;
else if (DeviceInfo._isMiui(userAgentLocal))
browser = OSUI.GlobalEnum.Browser.miui;
else if (DeviceInfo._isChrome(userAgentLocal))
browser = OSUI.GlobalEnum.Browser.chrome;
else if (DeviceInfo._isFirefox(userAgentLocal))
browser = OSUI.GlobalEnum.Browser.firefox;
else if (DeviceInfo._isSafari(userAgentLocal))
browser = OSUI.GlobalEnum.Browser.safari;
else if (DeviceInfo._isIE(userAgentLocal))
browser = OSUI.GlobalEnum.Browser.ie;
else if (DeviceInfo._isUC(userAgentLocal))
browser = OSUI.GlobalEnum.Browser.uc;
}
else {
if (DeviceInfo._browser === OSUI.GlobalEnum.Browser.unknown) {
DeviceInfo._browser = DeviceInfo.GetBrowser(DeviceInfo._getUserAgent());
}
browser = DeviceInfo._browser;
}
return browser;
}
static GetDeviceOrientation() {
let orientation = OSUI.GlobalEnum.DeviceOrientation.unknown;
if (Helper.Dom.Styles.ContainsClass(document.body, OSUI.GlobalEnum.DeviceOrientation.landscape))
orientation = OSUI.GlobalEnum.DeviceOrientation.landscape;
else if (Helper.Dom.Styles.ContainsClass(document.body, OSUI.GlobalEnum.DeviceOrientation.portrait))
orientation = OSUI.GlobalEnum.DeviceOrientation.portrait;
return orientation;
}
static GetDeviceType() {
let device = OSUI.GlobalEnum.DeviceType.desktop;
if (Helper.Dom.Styles.ContainsClass(document.body, OSUI.GlobalEnum.DeviceType.phone))
device = OSUI.GlobalEnum.DeviceType.phone;
else if (Helper.Dom.Styles.ContainsClass(document.body, OSUI.GlobalEnum.DeviceType.tablet))
device = OSUI.GlobalEnum.DeviceType.tablet;
return device;
}
static GetOperatingSystem(userAgent = '') {
let localOs;
if (userAgent.trim() !== '') {
localOs = DeviceInfo._getOperatingSystem();
}
else {
if (DeviceInfo._operatingSystem === OSUI.GlobalEnum.MobileOS.Unknown) {
DeviceInfo._operatingSystem = DeviceInfo.GetOperatingSystem(DeviceInfo._getUserAgent());
}
localOs = DeviceInfo._operatingSystem;
}
return localOs;
}
static RefreshOperatingSystem() {
DeviceInfo._operatingSystem = DeviceInfo.GetOperatingSystem(DeviceInfo._getUserAgent());
}
}
DeviceInfo._browser = OSUI.GlobalEnum.Browser.unknown;
DeviceInfo._iphoneDetails = undefined;
DeviceInfo._isAndroid = undefined;
DeviceInfo._isIos = undefined;
DeviceInfo._isIphoneWithNotch = undefined;
DeviceInfo._isNativeApp = undefined;
DeviceInfo._isPwa = undefined;
DeviceInfo._isTouch = undefined;
DeviceInfo._operatingSystem = OSUI.GlobalEnum.MobileOS.Unknown;
Helper.DeviceInfo = DeviceInfo;
})(Helper = OSUI.Helper || (OSUI.Helper = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Helper;
(function (Helper) {
class AttributeManipulation {
static Get(element, attrName) {
if (element) {
const value = element.getAttribute(attrName);
return value ? value : undefined;
}
else {
throw Error(`The element does not exist, when trying to get the attribute '${attrName}'.`);
}
}
static Has(element, attrName) {
if (element) {
return element.hasAttribute(attrName);
}
else {
throw Error(`The element does not exist, when trying to check the attribute '${attrName}'.`);
}
}
static Id(element) {
return AttributeManipulation.Get(element, 'Id');
}
static Remove(element, attrName) {
if (element) {
element.removeAttribute(attrName);
}
else {
throw Error(`The element does not exist, when trying to remove the attribute '${attrName}'.`);
}
}
static Set(element, attrName, attrValue) {
if (element) {
element.setAttribute(attrName, attrValue.toString());
}
else {
throw Error(`The element does not exist, when trying to set the attribute '${attrName}'.`);
}
}
}
class StyleManipulation {
static AddClass(element, cssClass) {
if (element) {
if (cssClass !== '') {
element.classList.add(cssClass);
}
}
else {
throw Error(`The element does not exist, when trying to add the class '${cssClass}'.`);
}
}
static ContainsClass(element, cssClass) {
if (element) {
if (cssClass !== '') {
return element.classList.contains(cssClass);
}
}
else {
throw Error(`The element does not exist, when trying to check if it has the class '${cssClass}'.`);
}
}
static ExtendedClass(element, currentCssClasses, newCssClass) {
if (element) {
const currentClassesList = currentCssClasses.split(' ');
const newClassesList = newCssClass.split(' ');
let classesToRemove = [];
let classesToAdd = [];
if (currentCssClasses !== '') {
classesToRemove = currentClassesList.filter((currClass) => newClassesList.indexOf(currClass) === -1);
}
if (newCssClass !== '') {
classesToAdd = newClassesList.filter((newClass) => currentClassesList.indexOf(newClass) === -1);
}
if (classesToRemove.length > 0) {
classesToRemove.forEach((classToRemove) => {
Helper.Dom.Styles.RemoveClass(element, classToRemove);
});
}
if (classesToAdd.length > 0) {
classesToAdd.forEach((classToAdd) => {
Helper.Dom.Styles.AddClass(element, classToAdd);
});
}
}
else {
throw Error(`The element does not exist, when trying to update EntendedClass '${newCssClass}'.`);
}
}
static GetBorderRadiusValueFromShapeType(shapeName) {
return getComputedStyle(document.documentElement).getPropertyValue('--border-radius-' + shapeName);
}
static GetColorValueFromColorType(colorName) {
const colorValue = getComputedStyle(document.documentElement).getPropertyValue('--color-' + colorName);
if (colorValue !== '') {
return colorValue;
}
return colorName;
}
static GetCssClasses(element) {
if (element) {
return new Set([...element.classList]);
}
else {
throw Error('The element does not exist, when trying to get the classes.');
}
}
static GetCustomProperty(element, propertyName) {
if (element) {
return getComputedStyle(element).getPropertyValue(propertyName);
}
else {
throw Error(`The element does not exist, when trying to get the Custom Property '${propertyName}'.`);
}
}
static RemoveClass(element, cssClass) {
if (element) {
if (cssClass !== '') {
element.classList.remove(cssClass);
}
}
else {
throw Error(`The element does not exist, when trying to remove the class '${cssClass}'.`);
}
}
static RemoveStyleAttribute(element, cssProperty) {
if (element) {
if (cssProperty !== '') {
element.style.removeProperty(cssProperty);
}
}
else {
throw Error(`The element does not exist, when trying to remove the rule '${cssProperty}'.`);
}
}
static SetStyleAttribute(element, cssProperty, ruleValue) {
if (element) {
if (cssProperty !== '' && ruleValue !== undefined) {
element.style.setProperty(cssProperty, ruleValue.toString());
}
}
else {
throw Error(`The element does not exist, when trying to apply the rule '${cssProperty}'.`);
}
}
static ToggleClass(element, cssClass) {
if (element) {
if (cssClass !== '') {
element.classList.toggle(cssClass);
}
}
else {
throw Error(`The element does not exist, when trying to toggle the class '${cssClass}'.`);
}
}
}
class Dom {
static get Attribute() {
return AttributeManipulation;
}
static get Styles() {
return StyleManipulation;
}
static ClassSelector(element, cssClass) {
let elementFound = undefined;
if (element) {
if (cssClass !== '') {
elementFound = element.querySelector(OSUI.Constants.Dot + cssClass);
}
elementFound = elementFound ? elementFound : undefined;
}
else {
console.error(`The element does not exist.`);
}
return elementFound;
}
static Disable(element) {
if (element) {
if (Dom.Attribute.Has(element, 'disabled') === false) {
Dom.Attribute.Set(element, 'disabled', true);
}
}
}
static Enable(element) {
if (element) {
if (Dom.Attribute.Has(element, 'disabled')) {
Dom.Attribute.Remove(element, 'disabled');
}
}
}
static GenerateUniqueId() {
return Math.random().toString(36);
}
static GetElementById(id) {
const obj = document.getElementById(id);
if (obj) {
return obj;
}
else {
throw new Error(`Object with Id '${id}' not found.`);
}
}
static GetElementByUniqueId(uniqueId) {
const obj = document.getElementsByName(uniqueId);
if (obj.length && uniqueId !== '') {
return obj[0];
}
else {
throw new Error(`Object with name '${uniqueId}' not found.`);
}
}
static GetFocusableElements(element, includeTabIndexHidden = false) {
const _focusableElems = element.querySelectorAll(`${OSUI.Constants.FocusableElems}${includeTabIndexHidden ? ', ' + OSUI.Constants.FocusableTabIndexHidden : ''}`);
const _filteredElements = Array.from(_focusableElems).filter((element) => element.getAttribute(OSUI.Constants.FocusTrapIgnoreAttr) !== 'true');
return [..._filteredElements];
}
static IsInsidePopupWidget(element) {
const _popup = document.querySelectorAll(OSUI.Constants.Dot + OSUI.GlobalEnum.CssClassElements.Popup);
let _isInsidePopup = false;
if (_popup.length > 0 && element) {
_popup.forEach((popup) => {
if (popup.contains(element)) {
_isInsidePopup = true;
}
});
}
return _isInsidePopup;
}
static Move(element, target) {
if (element && target) {
target.appendChild(element);
}
}
static SetInputValue(inputElem, value) {
const inputElemProtoObj = Object.getPrototypeOf(inputElem);
const setValue = Object.getOwnPropertyDescriptor(inputElemProtoObj, 'value').set;
setValue.call(inputElem, value);
inputElem.dispatchEvent(new CustomEvent('input', { bubbles: true }));
}
static TagSelector(element, htmlTag) {
let elementFound = undefined;
if (element) {
if (htmlTag !== '') {
elementFound = element.querySelector(htmlTag);
}
elementFound = elementFound ? elementFound : undefined;
}
else {
console.error(`The element does not exist.`);
}
return elementFound;
}
static TagSelectorAll(element, htmlTag) {
let elementFound;
if (element) {
if (htmlTag !== '') {
elementFound = Array.from(element.querySelectorAll(htmlTag));
}
elementFound = elementFound ? elementFound : undefined;
}
else {
console.error(`The element does not exist.`);
}
return elementFound;
}
}
Helper.Dom = Dom;
})(Helper = OSUI.Helper || (OSUI.Helper = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Helper;
(function (Helper) {
class InvalidInputs {
static _checkInvalidInputs(element, isSmooth, elementParentClass) {
const notValidClassess = [
OSUI.Constants.Dot + OSUI.GlobalEnum.CssClassElements.InputNotValid,
OSUI.Constants.Dot + Providers.OSUI.Datepicker.Flatpickr.Enum.CSSSelectors.DatepickerNotValid,
OSUI.Constants.Dot + OSUI.Patterns.Dropdown.ServerSide.Enum.CssClass.NotValid,
OSUI.Constants.Dot + Providers.OSUI.Dropdown.VirtualSelect.Enum.CssClass.NotValid,
];
const joinClassNames = [notValidClassess].join(OSUI.Constants.Comma);
const invalidInput = element.querySelectorAll(joinClassNames)[0];
if (invalidInput) {
const inputVisible = window.getComputedStyle(invalidInput).display !== OSUI.GlobalEnum.CssProperties.None;
if (inputVisible) {
this._scrollToInvalidInput(invalidInput, isSmooth, elementParentClass);
}
else {
Helper.AsyncInvocation(() => {
this._searchElementId(invalidInput, isSmooth, elementParentClass);
});
}
}
}
static _scrollToInvalidInput(element, isSmooth, elementParentClass) {
const browser = OSFramework.OSUI.Helper.DeviceInfo.GetBrowser();
OutSystems.OSUI.Utils.ScrollToElement(element.id, isSmooth, 0, elementParentClass);
if (browser === OSUI.GlobalEnum.Browser.safari || OSFramework.OSUI.Helper.DeviceInfo.IsIos) {
if (isSmooth) {
console.warn('Due to the unsupported scrollend event on Safari/iOS, the smooth transition is disabled and the invalid input will be focused directly.');
}
element.focus();
}
else {
const activeScreenElement = Helper.Dom.ClassSelector(document.body, OSUI.GlobalEnum.CssClassElements.ActiveScreen);
const focusOnScrollEnd = () => {
element.focus();
activeScreenElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.ScrollEnd, focusOnScrollEnd);
};
activeScreenElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.ScrollEnd, focusOnScrollEnd);
}
}
static _searchElementId(element, isSmooth, elementParentClass) {
const elementToSearch = element.parentElement;
if (elementToSearch.id !== OSUI.Constants.EmptyString) {
this._scrollToInvalidInput(elementToSearch, isSmooth, elementParentClass);
}
else {
this._searchElementId(elementToSearch, isSmooth, elementParentClass);
}
}
static FocusFirstInvalidInput(elementId, isSmooth, elementParentClass) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OutSystems.OSUI.ErrorCodes.Utilities.FailGetInvalidInput,
callback: () => {
let element = document.body;
if (elementId !== OSUI.Constants.EmptyString) {
element = Helper.Dom.GetElementById(elementId);
}
Helper.AsyncInvocation(() => {
this._checkInvalidInputs(element, isSmooth, elementParentClass);
});
},
});
return result;
}
}
Helper.InvalidInputs = InvalidInputs;
})(Helper = OSUI.Helper || (OSUI.Helper = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Helper;
(function (Helper) {
class Language {
static get Lang() {
return Language._lang;
}
static get ShortLang() {
return Language._lang.substring(0, 2);
}
static Set(language) {
if (language !== '' && language !== Language._lang) {
Language._lang = language;
document.documentElement.lang = language;
}
}
}
Language._lang = OSUI.Constants.Language.code;
Helper.Language = Language;
})(Helper = OSUI.Helper || (OSUI.Helper = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Helper;
(function (Helper) {
function LogMessage(message) {
if (OSUI.Constants.EnableLogMessages) {
return message;
}
}
Helper.LogMessage = LogMessage;
})(Helper = OSUI.Helper || (OSUI.Helper = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Helper;
(function (Helper) {
class A11Y {
static AriaAtomicFalse(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Aria.Atomic, OSUI.Constants.A11YAttributes.States.False);
}
static AriaAtomicTrue(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Aria.Atomic, OSUI.Constants.A11YAttributes.States.True);
}
static AriaBusyFalse(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Aria.Busy, OSUI.Constants.A11YAttributes.States.False);
}
static AriaBusyTrue(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Aria.Busy, OSUI.Constants.A11YAttributes.States.True);
}
static AriaControls(element, targetId) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Aria.Controls, targetId);
}
static AriaDescribedBy(element, targetId) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Aria.Describedby, targetId);
}
static AriaDisabled(element, isDisabled) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Aria.Disabled, isDisabled);
}
static AriaDisabledFalse(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Aria.Disabled, false);
}
static AriaDisabledTrue(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Aria.Disabled, true);
}
static AriaExpanded(element, value) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Aria.Expanded, value);
}
static AriaExpandedFalse(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Aria.Expanded, OSUI.Constants.A11YAttributes.States.False);
}
static AriaExpandedTrue(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Aria.Expanded, OSUI.Constants.A11YAttributes.States.True);
}
static AriaHasPopup(element, value) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Aria.Haspopup.prop, value);
}
static AriaHasPopupFalse(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Aria.Haspopup.prop, OSUI.Constants.A11YAttributes.Aria.Haspopup.value.False);
}
static AriaHasPopupTrue(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Aria.Haspopup.prop, OSUI.Constants.A11YAttributes.Aria.Haspopup.value.True);
}
static AriaHidden(element, value) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Aria.Hidden, value);
}
static AriaHiddenFalse(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Aria.Hidden, OSUI.Constants.A11YAttributes.States.False);
}
static AriaHiddenTrue(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Aria.Hidden, OSUI.Constants.A11YAttributes.States.True);
}
static AriaLabel(element, value) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Aria.Label, value);
}
static AriaLabelledBy(element, targetId) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Aria.Labelledby, targetId);
}
static AriaLiveAssertive(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.AriaLive.AttrName, OSUI.Constants.A11YAttributes.AriaLive.Assertive);
}
static AriaLiveOff(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.AriaLive.AttrName, OSUI.Constants.A11YAttributes.AriaLive.Off);
}
static AriaLivePolite(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.AriaLive.AttrName, OSUI.Constants.A11YAttributes.AriaLive.Polite);
}
static AriaSelectedFalse(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Aria.Selected, false);
}
static AriaSelectedTrue(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Aria.Selected, true);
}
static AriaValueMax(element, value) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Aria.ValueMax, value);
}
static AriaValueMin(element, value) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Aria.ValueMin, value);
}
static MultiselectableFalse(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Aria.Multiselectable, OSUI.Constants.A11YAttributes.States.False);
}
static MultiselectableTrue(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Aria.Multiselectable, OSUI.Constants.A11YAttributes.States.True);
}
static RoleAlert(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Role.AttrName, OSUI.Constants.A11YAttributes.Role.Alert);
}
static RoleButton(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Role.AttrName, OSUI.Constants.A11YAttributes.Role.Button);
}
static RoleComplementary(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Role.AttrName, OSUI.Constants.A11YAttributes.Role.Complementary);
}
static RoleListbox(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Role.AttrName, OSUI.Constants.A11YAttributes.Role.Listbox);
}
static RoleMenu(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Role.AttrName, OSUI.Constants.A11YAttributes.Role.Menu);
}
static RoleMenuItem(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Role.AttrName, OSUI.Constants.A11YAttributes.Role.MenuItem);
}
static RoleOption(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Role.AttrName, OSUI.Constants.A11YAttributes.Role.Option);
}
static RolePresentation(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Role.AttrName, OSUI.Constants.A11YAttributes.Role.Presentation);
}
static RoleProgressBar(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Role.AttrName, OSUI.Constants.A11YAttributes.Role.Progressbar);
}
static RoleRegion(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Role.AttrName, OSUI.Constants.A11YAttributes.Role.Region);
}
static RoleSearch(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Role.AttrName, OSUI.Constants.A11YAttributes.Role.Search);
}
static RoleTab(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Role.AttrName, OSUI.Constants.A11YAttributes.Role.Tab);
}
static RoleTabList(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Role.AttrName, OSUI.Constants.A11YAttributes.Role.TabList);
}
static RoleTabPanel(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Role.AttrName, OSUI.Constants.A11YAttributes.Role.TabPanel);
}
static RoleTooltip(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.Role.AttrName, OSUI.Constants.A11YAttributes.Role.Tooltip);
}
static SetElementsTabIndex(state, elements) {
const tabIndexValue = state
? OSUI.Constants.A11YAttributes.States.TabIndexShow
: OSUI.Constants.A11YAttributes.States.TabIndexHidden;
for (const item of elements) {
Helper.A11Y.TabIndex(item, tabIndexValue);
}
}
static TabIndex(element, value) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.TabIndex, value);
}
static TabIndexFalse(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.TabIndex, OSUI.Constants.A11YAttributes.States.TabIndexHidden);
}
static TabIndexTrue(element) {
Helper.Dom.Attribute.Set(element, OSUI.Constants.A11YAttributes.TabIndex, OSUI.Constants.A11YAttributes.States.TabIndexShow);
}
}
Helper.A11Y = A11Y;
})(Helper = OSUI.Helper || (OSUI.Helper = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Helper;
(function (Helper) {
var MapOperation;
(function (MapOperation) {
function FindInMap(patternName, patternId, map) {
let pattern;
if (map.has(patternId)) {
pattern = map.get(patternId);
}
else {
for (const p of map.values()) {
if (p.equalsToID(patternId)) {
pattern = p;
}
}
}
if (pattern === undefined) {
throw new Error(`The ${patternName} with id:'${patternId}' was not found`);
}
return pattern;
}
MapOperation.FindInMap = FindInMap;
function ExportKeys(map) {
return [...map.keys()];
}
MapOperation.ExportKeys = ExportKeys;
})(MapOperation = Helper.MapOperation || (Helper.MapOperation = {}));
})(Helper = OSUI.Helper || (OSUI.Helper = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Helper;
(function (Helper) {
class SVG {
static IsValid(svgString) {
const parser = new DOMParser();
try {
const doc = parser.parseFromString(svgString, OSUI.GlobalEnum.SVGHelperConstants.DOMType);
const parserError = doc.getElementsByTagName(OSUI.GlobalEnum.SVGHelperConstants.ParserError);
if (parserError.length > 0 || doc.documentElement.tagName !== OSUI.GlobalEnum.SVGHelperConstants.SVG) {
return false;
}
}
catch (error) {
return false;
}
return true;
}
}
Helper.SVG = SVG;
})(Helper = OSUI.Helper || (OSUI.Helper = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Helper;
(function (Helper) {
function Sanitize(value) {
if (typeof value === 'string') {
if (value !== undefined && value !== null && value !== '') {
return value.replace(/</g, '‹').replace(/>/g, '›');
}
}
return value;
}
Helper.Sanitize = Sanitize;
})(Helper = OSUI.Helper || (OSUI.Helper = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Helper;
(function (Helper) {
class Times {
static ConvertInSeconds(time) {
return (time.getHours() * OSUI.GlobalEnum.Time.HourInSeconds +
time.getMinutes() * OSUI.GlobalEnum.Time.MinuteInSeconds +
time.getSeconds());
}
static IsNull(time) {
if (Number.isNaN(Date.parse(time))) {
if (typeof time === OSUI.Constants.JavaScriptTypes.String) {
const isValid = /^([0-1]?[0-9]|2[0-4]):([0-5][0-9])(:[0-5][0-9])?$/.test(time);
if (isValid === false) {
throw new Error(`The given time '${time}' it's not a valid time.`);
}
}
else {
return true;
}
}
else {
const auxDate = new Date(Date.parse(time));
time = auxDate.getHours() + ':' + auxDate.getMinutes() + ':' + auxDate.getSeconds();
}
if (time === OSUI.GlobalEnum.NullValues.Time) {
return true;
}
return false;
}
}
Helper.Times = Times;
})(Helper = OSUI.Helper || (OSUI.Helper = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Helper;
(function (Helper) {
class URL {
static GetFileTypeFromURL(url) {
const match = url.match(/\.([a-z0-9]+)(?:[?#]|$)/i);
return match ? match[1].toLowerCase() : null;
}
static IsImage(url) {
return (url.match(/(^data:image\/*(jpeg|jpg|gif|png|svg);base64)|\/?(\.\w\.)*\.(jpeg|jpg|gif|png|svg)($|(\?))/i) !== null);
}
static IsValid(url) {
const pattern = new RegExp('^(https?:\\/\\/)?' +
'((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|' +
'((\\d{1,3}\\.){3}\\d{1,3}))' +
'(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*' +
'(\\?[;&a-z\\d%_.~+=-]*)?' +
'(\\#[-a-z\\d_]*)?$', 'i');
return pattern.test(url) || pattern.test(window.location.host + url);
}
}
Helper.URL = URL;
})(Helper = OSUI.Helper || (OSUI.Helper = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
class AbstractPattern {
constructor(uniqueId, configs) {
this._isBuilt = false;
this.isProviderBased = false;
this._uniqueId = uniqueId;
this._configs = configs;
}
_setCommonHtmlElements() {
this._selfElem = OSUI.Helper.Dom.GetElementByUniqueId(this._uniqueId);
this._widgetId = this._selfElem.closest(OSUI.GlobalEnum.DataBlocksTag.DataBlock).id;
if (this._configs.ExtendedClass !== '') {
OSUI.Helper.Dom.Styles.ExtendedClass(this._selfElem, '', this._configs.ExtendedClass);
}
}
_unsetCommonHtmlElements() {
this._selfElem = undefined;
}
finishBuild() {
if (this.isProviderBased === false) {
this.triggerPlatformInitializedEventCallback();
}
this._isBuilt = true;
}
triggerPlatformEventCallback(platFormCallback, ...args) {
if (platFormCallback !== undefined) {
OSUI.Helper.AsyncInvocation(platFormCallback, this.widgetId, ...args);
}
}
triggerPlatformInitializedEventCallback() {
if (this._platformEventInitialized !== undefined && this._isBuilt === false) {
this.triggerPlatformEventCallback(this._platformEventInitialized);
}
}
unsetGlobalCallbacks() {
this._platformEventInitialized = undefined;
}
build() {
this._setCommonHtmlElements();
}
changeProperty(propertyName, propertyValue) {
if (this._configs.hasOwnProperty(propertyName)) {
if (this._isBuilt) {
switch (propertyName) {
case OSUI.GlobalEnum.CommonPatternsProperties.ExtendedClass:
OSUI.Helper.Dom.Styles.ExtendedClass(this._selfElem, this._configs.ExtendedClass, propertyValue);
break;
}
}
if (this._configs.validateCanChange(this._isBuilt, propertyName)) {
this._configs[propertyName] = this._configs.validateDefault(propertyName, propertyValue);
}
}
else {
throw new Error(`changeProperty - Property '${propertyName}' can't be changed.`);
}
}
dispose() {
this._isBuilt = false;
this._unsetCommonHtmlElements();
this.unsetGlobalCallbacks();
this._configs = undefined;
}
equalsToID(patternId) {
return patternId === this._uniqueId || patternId === this._widgetId;
}
registerCallback(eventName, callback) {
switch (eventName) {
case OSUI.GlobalEnum.ProviderEvents.Initialized:
if (this._platformEventInitialized === undefined) {
this._platformEventInitialized = callback;
}
break;
default:
console.warn(`The pattern with id '${this.widgetId}' does not have the event '${eventName}' defined.`);
}
}
get _enableAccessibility() {
return OSUI.Helper.DeviceInfo.HasAccessibilityEnabled;
}
get selfElement() {
return this._selfElem;
}
get isBuilt() {
return this._isBuilt;
}
get configs() {
return this._configs;
}
get uniqueId() {
return this._uniqueId;
}
get widgetId() {
return this._widgetId;
}
}
Patterns.AbstractPattern = AbstractPattern;
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
class AbstractChild extends Patterns.AbstractPattern {
constructor() {
super(...arguments);
this._isFirstChild = false;
this._isLastChild = false;
}
notifyParent(actionType) {
this._parentObject.beNotifiedByChild(this, actionType);
}
setParentInfo(parentSelector, getPatternByIdAPI, canBeOrphan) {
try {
const findedElement = this.selfElement.closest(parentSelector);
this._parentId = OSUI.Helper.Dom.Attribute.Get(findedElement, 'name') || findedElement.dataset.uniqueid;
this._parentObject = getPatternByIdAPI(this._parentId);
}
catch (e) {
if (canBeOrphan) {
this._parentObject = undefined;
}
else {
throw new Error(`${OSUI.ErrorCodes.AbstractChild.FailParentNotFound}: Parent of Child with Id: '${this.widgetId}' was not found!`);
}
}
}
get isFirstChild() {
return this._isFirstChild;
}
set isFirstChild(value) {
this._isFirstChild = value;
}
get isLastChild() {
return this._isLastChild;
}
set isLastChild(value) {
this._isLastChild = value;
}
get parentId() {
return this._parentId;
}
get parentObject() {
return this._parentObject;
}
}
Patterns.AbstractChild = AbstractChild;
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
class AbstractConfiguration {
constructor(config) {
for (const key in config) {
if (config[key] !== undefined) {
this[key] = this.validateDefault(key, config[key]);
}
}
}
validateBoolean(value, defaultValue) {
return value !== undefined ? value : defaultValue;
}
validateDate(value, defaultValue) {
return OSUI.Helper.Dates.IsNull(value) === false ? value : defaultValue;
}
validateInRange(value, defaultValue, ...args) {
if (value) {
if (args.length > 0) {
const allowedValues = args.length > 1 ? args : args[0];
if (allowedValues.includes(value)) {
return value;
}
}
}
return defaultValue;
}
validateNumber(value, defaultValue) {
return typeof value === 'number' ? value : defaultValue;
}
validateString(value, defaultValue) {
return value && value.trim() ? value : defaultValue;
}
validateTime(value, defaultValue) {
return OSUI.Helper.Times.IsNull(value) === false ? value : defaultValue;
}
validateCanChange(_isBuilt, _key) {
return true;
}
validateDefault(_key, value) {
return value;
}
}
Patterns.AbstractConfiguration = AbstractConfiguration;
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
class AbstractParent extends Patterns.AbstractPattern {
constructor() {
super(...arguments);
this._childIdsByType = new Map();
this._childItemsByType = {};
}
getChild(childId) {
const childType = this._childIdsByType.get(childId);
if (this._childItemsByType[childType]) {
return this._childItemsByType[childType].get(childId);
}
else {
return undefined;
}
}
getChildByIndex(index, childType) {
if (childType === undefined) {
childType = Object.keys(this._childItemsByType)[0];
}
const childsMap = this._childItemsByType[childType];
return childsMap ? this.getChild(OSUI.Helper.MapOperation.ExportKeys(childsMap)[index]) : undefined;
}
getChildIndex(childId) {
const childType = this._childIdsByType.get(childId);
const childsMap = this._childItemsByType[childType];
return OSUI.Helper.MapOperation.ExportKeys(childsMap).indexOf(childId);
}
setChild(childItem) {
const childType = childItem.constructor.name;
if (this._childItemsByType[childType] === undefined) {
this._childItemsByType[childType] = new Map();
}
if (this._childItemsByType[childType].size === 0) {
childItem.isFirstChild = true;
childItem.isLastChild = true;
}
else {
this.getChildByIndex(this._childItemsByType[childType].size - 1, childType).isLastChild = false;
childItem.isLastChild = true;
}
this._childIdsByType.set(childItem.uniqueId, childType);
this._childItemsByType[childType].set(childItem.uniqueId, childItem);
}
unsetChild(childId) {
const childType = this._childIdsByType.get(childId);
if (childType === undefined) {
throw new Error(`${OSUI.ErrorCodes.AbstractParent.FailTypeNotFound}:Child Type of Child ('${childId}') was not found!`);
}
const childsMap = this._childItemsByType[childType];
if (childsMap === undefined) {
throw new Error(`${OSUI.ErrorCodes.AbstractParent.FailChildsNotFound}:Childs of Type ('${childType}') were not found!`);
}
const childItem = this.getChild(childId);
if (childItem === undefined) {
throw new Error(`${OSUI.ErrorCodes.AbstractParent.FailChildNotFound}:Child of Id ('${childId}') was not found!`);
}
if (childItem.isFirstChild) {
childItem.isFirstChild = false;
const nextSibling = this.getChildByIndex(1, childType);
if (nextSibling) {
nextSibling.isFirstChild = true;
}
}
if (childItem.isLastChild) {
childItem.isLastChild = false;
const prevSibling = this.getChildByIndex(childsMap.size - 2, childType);
if (prevSibling) {
prevSibling.isLastChild = true;
}
}
this._childIdsByType.delete(childId);
childsMap.delete(childId);
}
getChildItems(type) {
if (type === undefined) {
type = Object.keys(this._childItemsByType)[0];
}
const childsMap = this._childItemsByType[type];
return childsMap === undefined ? [] : [...childsMap.values()];
}
}
Patterns.AbstractParent = AbstractParent;
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
class AbstractProviderConfiguration extends Patterns.AbstractConfiguration {
mergeConfigs(commonConfigs, specificConfigs, extendedConfigs) {
let _finalConfigs = commonConfigs;
if (specificConfigs !== undefined) {
_finalConfigs = Object.assign(Object.assign({}, _finalConfigs), specificConfigs);
}
if (extendedConfigs !== undefined) {
_finalConfigs = Object.assign(Object.assign({}, _finalConfigs), extendedConfigs);
}
Object.keys(_finalConfigs).forEach((key) => (_finalConfigs[key] === undefined ||
_finalConfigs[key] === null ||
(Array.isArray(_finalConfigs[key]) && _finalConfigs[key].length === 0)) &&
delete _finalConfigs[key]);
return _finalConfigs;
}
}
Patterns.AbstractProviderConfiguration = AbstractProviderConfiguration;
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
class AbstractProviderPattern extends Patterns.AbstractPattern {
constructor(uniqueId, configs) {
super(uniqueId, configs);
this._asyncInvocationId = 0;
this.isProviderBased = true;
}
_cancelRedraw() {
if (this._asyncInvocationId !== 0) {
clearTimeout(this._asyncInvocationId);
}
}
_getEventIndexFromArray(event) {
const _providerCallback = this.providerInfo.events[event.eventName].find((item) => {
return item === event.callback;
});
if (_providerCallback === undefined) {
throw Error(OSUI.ErrorCodes.AbstractProviderPattern.FailProviderEventRemoval.code +
': ' +
OSUI.ErrorCodes.AbstractProviderPattern.FailProviderEventRemoval.message);
}
return this.providerInfo.events[event.eventName].findIndex((item) => {
return item === _providerCallback;
});
}
_handleProviderEventsAPI(eventName, callback, addEvent, event) {
const events = this.providerInfo.events;
if (Array.isArray(events[eventName])) {
if (addEvent) {
events[eventName].push(callback);
}
else {
events[eventName].splice(this._getEventIndexFromArray(event), 1);
}
}
else if (typeof events.addEventListener === OSUI.Constants.JavaScriptTypes.Function) {
if (addEvent) {
events.addEventListener(eventName, callback);
}
else {
events.removeEventListener(eventName, callback);
}
}
else if (typeof events.on === OSUI.Constants.JavaScriptTypes.Function) {
if (addEvent) {
events.on(eventName, callback);
}
else {
events.off(eventName, callback);
}
}
else {
const errorMessage = addEvent
? OSUI.ErrorCodes.AbstractProviderPattern.FailProviderEventSet.message
: OSUI.ErrorCodes.AbstractProviderPattern.FailProviderEventRemoval.message;
throw new Error(`${eventName}: ${errorMessage}`);
}
}
_handleRedraw() {
if (this._provider !== undefined) {
this._provider.destroy();
this.prepareConfigs();
}
}
redraw() {
this._cancelRedraw();
this._asyncInvocationId = OSUI.Helper.AsyncInvocation(() => {
this._handleRedraw();
});
}
unsetCallbacks() {
this._platformEventProviderConfigsAppliedCallback = undefined;
}
build() {
this.providerInfo = {
name: undefined,
version: undefined,
events: undefined,
};
this._redrawCallback = this.redraw.bind(this);
OSFramework.OSUI.Event.DOMEvents.Observers.GlobalObserverManager.Instance.addHandler(OSUI.Event.DOMEvents.Observers.ObserverEvent.RTL, this._redrawCallback);
super.build();
}
checkAddedProviderEvents() {
var _a;
if ((_a = this.providerEventsManagerInstance) === null || _a === void 0 ? void 0 : _a.hasEvents) {
this.providerEventsManagerInstance.events.forEach((value) => {
this.setProviderEvent(value.eventName, value.callback, value.eventUniqueId, false);
});
}
}
checkPendingProviderEvents() {
var _a;
if ((_a = this.providerEventsManagerInstance) === null || _a === void 0 ? void 0 : _a.hasPendingEvents) {
this.providerEventsManagerInstance.pendingEvents.forEach((value, key) => {
this.setProviderEvent(value.eventName, value.callback, value.eventUniqueId);
this.providerEventsManagerInstance.removePendingEvent(key);
});
}
}
dispose() {
OSFramework.OSUI.Event.DOMEvents.Observers.GlobalObserverManager.Instance.removeHandler(OSUI.Event.DOMEvents.Observers.ObserverEvent.RTL, this._redrawCallback);
this._redrawCallback = undefined;
super.dispose();
}
registerCallback(eventName, callback) {
switch (eventName) {
case OSUI.GlobalEnum.ProviderEvents.OnProviderConfigsApplied:
if (this._platformEventProviderConfigsAppliedCallback === undefined) {
this._platformEventProviderConfigsAppliedCallback = callback;
}
break;
default:
super.registerCallback(eventName, callback);
}
}
setProviderConfigs(providerConfigs) {
this.triggerPlatformEventCallback(this._platformEventProviderConfigsAppliedCallback);
}
setProviderEvent(eventName, callback, uniqueId, saveEvent = true) {
if (this.providerEventsManagerInstance === undefined) {
this.providerEventsManagerInstance = new OSUI.Event.ProviderEvents.ProviderEventsManager();
}
if (this.providerInfo.events === undefined) {
this.providerEventsManagerInstance.addPendingEvent(eventName, callback, uniqueId);
return;
}
this._handleProviderEventsAPI(eventName, callback, true);
if (saveEvent) {
this.providerEventsManagerInstance.saveEvent(eventName, callback, uniqueId);
}
}
unsetProviderEvent(eventId) {
var _a;
const _event = (_a = this.providerEventsManagerInstance) === null || _a === void 0 ? void 0 : _a.events.get(eventId);
if (_event === undefined) {
throw Error(OSUI.ErrorCodes.AbstractProviderPattern.FailProviderEventRemoval.code +
': ' +
OSUI.ErrorCodes.AbstractProviderPattern.FailProviderEventRemoval.message);
}
this._handleProviderEventsAPI(_event.eventName, _event.callback, false, _event);
if (this.providerEventsManagerInstance) {
this.providerEventsManagerInstance.removeSavedEvent(eventId);
}
}
updateProviderEvents(providerInfo) {
this.providerInfo.events = providerInfo.events;
if (this.isBuilt) {
OSUI.Helper.AsyncInvocation(this.checkPendingProviderEvents.bind(this));
OSUI.Helper.AsyncInvocation(this.checkAddedProviderEvents.bind(this));
}
else {
this.providerInfo.name = providerInfo.name;
this.providerInfo.version = providerInfo.version;
}
}
get providerInfo() {
return this._providerInfo;
}
set providerInfo(providerInfo) {
this._providerInfo = providerInfo;
}
set provider(p) {
this._provider = p;
}
get provider() {
return this._provider;
}
}
Patterns.AbstractProviderPattern = AbstractProviderPattern;
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Accordion;
(function (Accordion_1) {
class Accordion extends Patterns.AbstractParent {
constructor(uniqueId, configs) {
super(uniqueId, new Accordion_1.AccordionConfig(configs));
}
setA11YProperties() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
setCallbacks() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
setHtmlElements() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
unsetCallbacks() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
unsetHtmlElements() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
addAccordionItem(childItem) {
if (this.getChild(childItem.uniqueId)) {
throw new Error(`${OSUI.ErrorCodes.Accordion.FailSetNewChildItem}: There is already a ${OSUI.GlobalEnum.PatternName.AccordionItem} under Id: '${childItem.widgetId}' added to ${OSUI.GlobalEnum.PatternName.Accordion} with uniqueId: ${this.uniqueId}.`);
}
else {
this.setChild(childItem);
}
if (childItem.isOpen) {
this.triggerAccordionItemClose(childItem.uniqueId);
}
}
beNotifiedByChild(childItem, notifiedTo) {
switch (notifiedTo) {
case Accordion_1.Enum.ChildNotifyActionType.Add:
this.addAccordionItem(childItem);
break;
case Accordion_1.Enum.ChildNotifyActionType.Click:
this.triggerAccordionItemClose(childItem.uniqueId);
break;
case Accordion_1.Enum.ChildNotifyActionType.Removed:
this.removeAccordionItem(childItem.uniqueId);
break;
default:
throw new Error(`${OSUI.ErrorCodes.Accordion.FailToSetChildItemAction}: There no exist a '${notifiedTo}' notification type.`);
}
}
build() {
super.build();
this.finishBuild();
}
changeProperty(propertyName, propertyValue) {
super.changeProperty(propertyName, propertyValue);
if (this.isBuilt) {
switch (propertyName) {
case Accordion_1.Enum.Properties.MultipleItems:
if (!this.configs.MultipleItems)
this.collapseAllItems();
break;
}
}
}
collapseAllItems() {
const itemsToClose = this.getChildItems().filter((item) => item.isOpen && !item.isDisabled);
itemsToClose.forEach((item) => {
item.close();
});
}
dispose() {
super.dispose();
}
expandAllItems() {
if (this.configs.MultipleItems) {
const itemsToOpen = this.getChildItems().filter((item) => !item.isOpen && !item.isDisabled);
itemsToOpen.forEach((item) => {
item.open();
});
}
else {
console.warn(`${OSUI.GlobalEnum.PatternName.Accordion} (${this.widgetId}): if ${Accordion_1.Enum.Properties.MultipleItems} parameter is set to false, this action doesn't work. Set the ${Accordion_1.Enum.Properties.MultipleItems} parameter to true.`);
}
}
removeAccordionItem(childId) {
if (this.getChild(childId)) {
this.unsetChild(childId);
}
else {
throw new Error(`${OSUI.ErrorCodes.Accordion.FailUnsetNewChildItem}: The ${OSUI.GlobalEnum.PatternName.AccordionItem} under uniqueId: '${childId}' does not exist as an ${OSUI.GlobalEnum.PatternName.AccordionItem} from ${OSUI.GlobalEnum.PatternName.Accordion} with Id: ${this.widgetId}.`);
}
}
triggerAccordionItemClose(childId) {
if (this.configs.MultipleItems) {
return;
}
const childReference = this.getChild(childId);
if (childReference) {
this.getChildItems().forEach((item) => {
if (item.uniqueId !== childId) {
if (item.isOpen) {
item.close();
}
}
});
}
else {
throw new Error(`${OSUI.ErrorCodes.Accordion.FailChildItemClicked}: The ${OSUI.GlobalEnum.PatternName.AccordionItem} under uniqueId: '${childId}' does not exist as an ${OSUI.GlobalEnum.PatternName.AccordionItem} from ${OSUI.GlobalEnum.PatternName.Accordion} with Id: ${this.widgetId}.`);
}
}
}
Accordion_1.Accordion = Accordion;
})(Accordion = Patterns.Accordion || (Patterns.Accordion = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Accordion;
(function (Accordion) {
class AccordionConfig extends Patterns.AbstractConfiguration {
constructor(config) {
super(config);
}
validateDefault(key, value) {
let validatedValue = undefined;
switch (key) {
case Accordion.Enum.Properties.MultipleItems:
validatedValue = this.validateBoolean(value, false);
break;
default:
validatedValue = super.validateDefault(key, value);
break;
}
return validatedValue;
}
}
Accordion.AccordionConfig = AccordionConfig;
})(Accordion = Patterns.Accordion || (Patterns.Accordion = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Accordion;
(function (Accordion) {
var Enum;
(function (Enum) {
let ChildNotifyActionType;
(function (ChildNotifyActionType) {
ChildNotifyActionType["Add"] = "add";
ChildNotifyActionType["Click"] = "click";
ChildNotifyActionType["Removed"] = "removed";
})(ChildNotifyActionType = Enum.ChildNotifyActionType || (Enum.ChildNotifyActionType = {}));
let CssClass;
(function (CssClass) {
CssClass["Pattern"] = "osui-accordion";
})(CssClass = Enum.CssClass || (Enum.CssClass = {}));
let Properties;
(function (Properties) {
Properties["MultipleItems"] = "MultipleItems";
})(Properties = Enum.Properties || (Enum.Properties = {}));
})(Enum = Accordion.Enum || (Accordion.Enum = {}));
})(Accordion = Patterns.Accordion || (Patterns.Accordion = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var AccordionItem;
(function (AccordionItem_1) {
class AccordionItem extends Patterns.AbstractChild {
constructor(uniqueId, configs) {
super(uniqueId, new AccordionItem_1.AccordionItemConfig(configs));
this._collapsedHeight = 0;
this._isOpen = this.configs.StartsExpanded;
}
get _elementWithEvents() {
let elementWithEvent = this._accordionItemTitleElem;
if (this.configs.ToggleWithIcon) {
if (this.configs.Icon !== AccordionItem_1.Enum.IconType.Custom) {
elementWithEvent = this._accordionItemIconElem;
}
else {
elementWithEvent = this._accordionItemIconCustomElem;
}
}
return elementWithEvent;
}
get _previousElementWithEvents() {
let elementWithEvent = this._accordionItemTitleElem;
if (!this.configs.ToggleWithIcon) {
if (this.configs.Icon !== AccordionItem_1.Enum.IconType.Custom) {
elementWithEvent = this._accordionItemIconElem;
}
else {
elementWithEvent = this._accordionItemIconCustomElem;
}
}
return elementWithEvent;
}
_accordionOnClickHandler(event) {
if (this._allowTitleEvents) {
if ((event === null || event === void 0 ? void 0 : event.target) !== this._accordionItemTitleElem &&
(event === null || event === void 0 ? void 0 : event.target) !== this._accordionItemIconElem &&
(event === null || event === void 0 ? void 0 : event.target) !== this._accordionItemTitleElem.firstChild) {
return;
}
}
if (this._isOpen) {
this.close();
}
else {
this.open();
}
}
_addEvents() {
const elem = this._elementWithEvents;
elem.addEventListener(OSUI.GlobalEnum.HTMLEvent.Click, this._eventOnClick);
elem.addEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventOnkeyPress);
}
_animationAsync(isExpand) {
const finalHeight = isExpand ? this._expandedHeight : this._collapsedHeight;
OSUI.Helper.Dom.Styles.AddClass(this._accordionItemContentElem, AccordionItem_1.Enum.CssClass.PatternAnimating);
if (!isExpand) {
OSUI.Helper.Dom.Styles.RemoveClass(this._accordionItemContentElem, AccordionItem_1.Enum.CssClass.PatternExpanded);
}
OSUI.Helper.Dom.Styles.SetStyleAttribute(this._accordionItemContentElem, OSUI.GlobalEnum.InlineStyle.Height, finalHeight + OSUI.GlobalEnum.Units.Pixel);
this._accordionItemContentElem.addEventListener(OSUI.GlobalEnum.HTMLEvent.TransitionEnd, this._eventOnTransitionEnd);
if (isExpand) {
OSUI.Helper.Dom.Styles.AddClass(this._accordionItemContentElem, AccordionItem_1.Enum.CssClass.PatternExpanded);
this._isOpen = true;
}
else {
OSUI.Helper.Dom.Styles.AddClass(this._accordionItemContentElem, AccordionItem_1.Enum.CssClass.PatternCollapsed);
this._isOpen = false;
}
this.setA11YProperties();
this._onToggleCallback();
}
_changeClikableTargetArea() {
if (this._previousElementWithEvents !== this._elementWithEvents) {
OSUI.Helper.Dom.Styles.RemoveClass(this._previousElementWithEvents, AccordionItem_1.Enum.CssClass.PatternClickArea);
this._removeEvents();
this._removeA11Properties();
this._setA11ToogleElement();
this._handleTabIndex();
this._addEvents();
OSUI.Helper.Dom.Styles.AddClass(this._elementWithEvents, AccordionItem_1.Enum.CssClass.PatternClickArea);
}
}
_handleTabIndex() {
const titleTabindexValue = this.configs.IsDisabled
? OSUI.Constants.A11YAttributes.States.TabIndexHidden
: OSUI.Constants.A11YAttributes.States.TabIndexShow;
const titleFocusableElementsTabindexValue = !this.configs.IsDisabled && this._isOpen
? OSUI.Constants.A11YAttributes.States.TabIndexShow
: OSUI.Constants.A11YAttributes.States.TabIndexHidden;
OSUI.Helper.A11Y.TabIndex(this._elementWithEvents, titleTabindexValue);
for (const child of this._accordionTitleFocusableChildren) {
OSUI.Helper.A11Y.TabIndex(child, titleFocusableElementsTabindexValue);
}
}
_onKeyboardPress(event) {
const isEscapedKey = event.key === OSUI.GlobalEnum.Keycodes.Escape;
const isEnterOrSpaceKey = event.key === OSUI.GlobalEnum.Keycodes.Enter || event.key === OSUI.GlobalEnum.Keycodes.Space;
if (isEscapedKey || isEnterOrSpaceKey) {
event.preventDefault();
event.stopPropagation();
}
else {
return;
}
if (this._isOpen) {
this.close();
}
else if (isEnterOrSpaceKey && !this._isOpen) {
this.open();
}
}
_onToggleCallback() {
this.triggerPlatformEventCallback(this._platformEventOnToggle, this._isOpen);
}
_removeA11Properties() {
const prevElementWithEvent = this._previousElementWithEvents;
OSUI.Helper.Dom.Attribute.Remove(prevElementWithEvent, OSUI.Constants.A11YAttributes.Role.AttrName);
OSUI.Helper.Dom.Attribute.Remove(prevElementWithEvent, OSUI.Constants.A11YAttributes.TabIndex);
}
_removeEvents() {
const elem = this._previousElementWithEvents;
elem.removeEventListener(OSUI.GlobalEnum.HTMLEvent.Click, this._eventOnClick);
elem.removeEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventOnkeyPress);
}
_setA11ToogleElement() {
const elem = this._elementWithEvents;
OSUI.Helper.A11Y.AriaControls(this._accordionItemTitleElem, this._accordionItemPlaceholder.id);
OSUI.Helper.A11Y.RoleButton(elem);
}
_setAccordionParent() {
this.setParentInfo(OSUI.Constants.Dot + Patterns.Accordion.Enum.CssClass.Pattern, OutSystems.OSUI.Patterns.AccordionAPI.GetAccordionById, true);
if (this.parentObject) {
this.notifyParent(Patterns.Accordion.Enum.ChildNotifyActionType.Add);
}
}
_setIconPosition() {
if (this.configs.IconPosition === OSUI.GlobalEnum.Direction.Right) {
OSUI.Helper.Dom.Styles.RemoveClass(this._accordionItemTitleElem, AccordionItem_1.Enum.CssClass.PatternIconPositionIsLeft);
OSUI.Helper.Dom.Styles.AddClass(this._accordionItemTitleElem, AccordionItem_1.Enum.CssClass.PatternIconPositionIsRight);
}
else {
OSUI.Helper.Dom.Styles.RemoveClass(this._accordionItemTitleElem, AccordionItem_1.Enum.CssClass.PatternIconPositionIsRight);
OSUI.Helper.Dom.Styles.AddClass(this._accordionItemTitleElem, AccordionItem_1.Enum.CssClass.PatternIconPositionIsLeft);
}
}
_setIconType() {
switch (this.configs.Icon) {
case AccordionItem_1.Enum.IconType.PlusMinus:
OSUI.Helper.Dom.Styles.RemoveClass(this._accordionItemIconElem, AccordionItem_1.Enum.CssClass.PatternIconCaret);
OSUI.Helper.Dom.Styles.RemoveClass(this._accordionItemIconCustomElem, AccordionItem_1.Enum.CssClass.PatternIconCustom);
OSUI.Helper.Dom.Styles.RemoveClass(this._accordionItemIconElem, AccordionItem_1.Enum.CssClass.PatternIconHidden);
OSUI.Helper.Dom.Styles.AddClass(this._accordionItemIconCustomElem, AccordionItem_1.Enum.CssClass.PatternIconHidden);
OSUI.Helper.Dom.Styles.AddClass(this._accordionItemIconElem, AccordionItem_1.Enum.CssClass.PatternIconPlusMinus);
break;
case AccordionItem_1.Enum.IconType.Custom:
OSUI.Helper.Dom.Styles.RemoveClass(this._accordionItemIconElem, AccordionItem_1.Enum.CssClass.PatternIconPlusMinus);
OSUI.Helper.Dom.Styles.RemoveClass(this._accordionItemIconElem, AccordionItem_1.Enum.CssClass.PatternIconCaret);
OSUI.Helper.Dom.Styles.RemoveClass(this._accordionItemIconCustomElem, AccordionItem_1.Enum.CssClass.PatternIconHidden);
OSUI.Helper.Dom.Styles.AddClass(this._accordionItemIconElem, AccordionItem_1.Enum.CssClass.PatternIconHidden);
OSUI.Helper.Dom.Styles.AddClass(this._accordionItemIconCustomElem, AccordionItem_1.Enum.CssClass.PatternIconCustom);
break;
default:
OSUI.Helper.Dom.Styles.RemoveClass(this._accordionItemIconElem, AccordionItem_1.Enum.CssClass.PatternIconPlusMinus);
OSUI.Helper.Dom.Styles.RemoveClass(this._accordionItemIconCustomElem, AccordionItem_1.Enum.CssClass.PatternIconCustom);
OSUI.Helper.Dom.Styles.RemoveClass(this._accordionItemIconElem, AccordionItem_1.Enum.CssClass.PatternIconHidden);
OSUI.Helper.Dom.Styles.AddClass(this._accordionItemIconCustomElem, AccordionItem_1.Enum.CssClass.PatternIconHidden);
OSUI.Helper.Dom.Styles.AddClass(this._accordionItemIconElem, AccordionItem_1.Enum.CssClass.PatternIconCaret);
break;
}
}
_setIsDisabledState() {
if (this.configs.IsDisabled) {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, AccordionItem_1.Enum.CssClass.PatternDisabled);
OSUI.Helper.Dom.Styles.RemoveClass(this._elementWithEvents, AccordionItem_1.Enum.CssClass.PatternClickArea);
OSUI.Helper.A11Y.AriaDisabledTrue(this.selfElement);
OSUI.Helper.Dom.Attribute.Remove(this._elementWithEvents, OSUI.Constants.FocusableTabIndexDefault);
this._removeEvents();
this.unsetCallbacks();
}
else {
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, AccordionItem_1.Enum.CssClass.PatternDisabled);
OSUI.Helper.Dom.Styles.AddClass(this._elementWithEvents, AccordionItem_1.Enum.CssClass.PatternClickArea);
OSUI.Helper.A11Y.AriaDisabledFalse(this.selfElement);
OSUI.Helper.Dom.Attribute.Set(this._elementWithEvents, OSUI.Constants.FocusableTabIndexDefault, OSUI.Constants.EmptyString);
this.setCallbacks();
this._addEvents();
}
this._handleTabIndex();
}
_transitionEndHandler() {
if (this._accordionItemContentElem) {
OSUI.Helper.Dom.Styles.RemoveClass(this._accordionItemContentElem, AccordionItem_1.Enum.CssClass.PatternAnimating);
OSUI.Helper.Dom.Styles.SetStyleAttribute(this._accordionItemContentElem, OSUI.GlobalEnum.InlineStyle.Height, '');
OSUI.Helper.Dom.Styles.SetStyleAttribute(this._accordionItemTitleElem, OSUI.GlobalEnum.InlineStyle.PointerEvents, '');
if (this._accordionItemContentElem.style.cssText.length === 0) {
OSUI.Helper.Dom.Attribute.Remove(this._accordionItemContentElem, OSUI.GlobalEnum.HTMLAttributes.Style);
}
this._accordionItemContentElem.removeEventListener(OSUI.GlobalEnum.HTMLEvent.TransitionEnd, this._transitionEndHandler, false);
}
}
setA11YProperties() {
if (this.isBuilt === false) {
OSUI.Helper.A11Y.AriaControls(this._accordionItemTitleElem, this._accordionItemPlaceholder.id);
OSUI.Helper.A11Y.AriaLabelledBy(this._accordionItemContentElem, this._accordionItemTitleElem.id);
OSUI.Helper.A11Y.AriaHiddenTrue(this._accordionItemIconElem);
OSUI.Helper.A11Y.AriaDisabled(this._accordionItemTitleElem, this.configs.IsDisabled);
OSUI.Helper.A11Y.RoleButton(this._accordionItemTitleElem);
OSUI.Helper.A11Y.RoleRegion(this._accordionItemContentElem);
}
this._handleTabIndex();
OSUI.Helper.A11Y.AriaExpanded(this._accordionItemTitleElem, this._isOpen.toString());
OSUI.Helper.A11Y.AriaHidden(this._accordionItemContentElem, (!this._isOpen).toString());
for (const child of this._accordionTitleFocusableChildren) {
OSUI.Helper.A11Y.AriaHidden(child, (!this._isOpen).toString());
}
}
setCallbacks() {
this._eventOnClick = this._accordionOnClickHandler.bind(this);
this._eventOnTransitionEnd = this._transitionEndHandler.bind(this);
this._eventOnkeyPress = this._onKeyboardPress.bind(this);
}
setHtmlElements() {
this._accordionItemTitleElem = OSUI.Helper.Dom.ClassSelector(this.selfElement, AccordionItem_1.Enum.CssClass.PatternTitle);
this._accordionItemContentElem = OSUI.Helper.Dom.ClassSelector(this.selfElement, AccordionItem_1.Enum.CssClass.PatternContent);
this._accordionItemIconElem = OSUI.Helper.Dom.ClassSelector(this.selfElement, AccordionItem_1.Enum.CssClass.PatternIcon);
this._accordionItemIconCustomElem = OSUI.Helper.Dom.ClassSelector(this.selfElement, AccordionItem_1.Enum.CssClass.PatternIcon + '.' + OSUI.GlobalEnum.CssClassElements.Placeholder);
this._accordionItemPlaceholder = this._accordionItemContentElem.firstChild;
this._accordionTitleFocusableChildren = OSUI.Helper.Dom.TagSelectorAll(this._accordionItemTitleElem, OSUI.Constants.FocusableElems);
}
setInitialCssClasses() {
if (this._isOpen) {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, AccordionItem_1.Enum.CssClass.PatternOpen);
OSUI.Helper.Dom.Styles.AddClass(this._accordionItemContentElem, AccordionItem_1.Enum.CssClass.PatternExpanded);
}
else {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, AccordionItem_1.Enum.CssClass.PatternClosed);
OSUI.Helper.Dom.Styles.AddClass(this._accordionItemContentElem, AccordionItem_1.Enum.CssClass.PatternCollapsed);
}
if (this.configs.ToggleWithIcon) {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, AccordionItem_1.Enum.CssClass.PatternToggleWithIcon);
}
this._setIconType();
this._setIconPosition();
}
unsetCallbacks() {
this._eventOnClick = undefined;
this._eventOnTransitionEnd = undefined;
this._eventOnkeyPress = undefined;
}
unsetHtmlElements() {
this._accordionItemTitleElem = undefined;
this._accordionItemContentElem = undefined;
this._accordionItemIconElem = undefined;
this._accordionItemPlaceholder = undefined;
this._accordionTitleFocusableChildren = [];
}
get isDisabled() {
return this.configs.IsDisabled;
}
get isOpen() {
return this._isOpen;
}
allowTitleEvents() {
this._allowTitleEvents = true;
}
build() {
super.build();
this.setHtmlElements();
this.setInitialCssClasses();
this._setAccordionParent();
this._setIsDisabledState();
this.setA11YProperties();
this.finishBuild();
}
changeProperty(propertyName, propertyValue) {
super.changeProperty(propertyName, propertyValue);
if (this.isBuilt) {
switch (propertyName) {
case AccordionItem_1.Enum.Properties.IsDisabled:
this._setIsDisabledState();
break;
case AccordionItem_1.Enum.Properties.StartsExpanded:
console.warn(`${OSUI.GlobalEnum.PatternName.AccordionItem} (${this.widgetId}): changes to ${AccordionItem_1.Enum.Properties.StartsExpanded} parameter do not affect the ${OSUI.GlobalEnum.PatternName.AccordionItem}. Use the client actions 'AccordionItemExpand' and 'AccordionItemCollapse' to affect the ${OSUI.GlobalEnum.PatternName.AccordionItem}.`);
break;
case AccordionItem_1.Enum.Properties.IconPosition:
this._setIconPosition();
break;
case AccordionItem_1.Enum.Properties.Icon:
this._setIconType();
break;
case AccordionItem_1.Enum.Properties.ToggleWithIcon:
this._changeClikableTargetArea();
break;
}
}
}
close() {
if (!this._isOpen) {
return;
}
OSUI.Helper.Dom.Attribute.Remove(this._accordionItemContentElem, OSUI.GlobalEnum.HTMLAttributes.Style);
this._expandedHeight = this._accordionItemContentElem.getBoundingClientRect().height;
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, AccordionItem_1.Enum.CssClass.PatternClosed);
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, AccordionItem_1.Enum.CssClass.PatternOpen);
OSUI.Helper.Dom.Styles.RemoveClass(this._accordionItemContentElem, AccordionItem_1.Enum.CssClass.PatternExpanded);
OSUI.Helper.Dom.Styles.SetStyleAttribute(this._accordionItemContentElem, OSUI.GlobalEnum.InlineStyle.Height, this._expandedHeight + OSUI.GlobalEnum.Units.Pixel);
OSUI.Helper.AsyncInvocation(() => {
this._animationAsync(false);
});
}
dispose() {
this.unsetCallbacks();
this._removeEvents();
if (this.parentObject) {
this.notifyParent(Patterns.Accordion.Enum.ChildNotifyActionType.Removed);
}
this.unsetHtmlElements();
super.dispose();
}
open() {
if (this._isOpen) {
return;
}
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, AccordionItem_1.Enum.CssClass.PatternClosed);
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, AccordionItem_1.Enum.CssClass.PatternOpen);
OSUI.Helper.Dom.Styles.SetStyleAttribute(this._accordionItemTitleElem, OSUI.GlobalEnum.InlineStyle.PointerEvents, OSUI.GlobalEnum.CssProperties.None);
OSUI.Helper.Dom.Styles.RemoveClass(this._accordionItemContentElem, AccordionItem_1.Enum.CssClass.PatternCollapsed);
OSUI.Helper.Dom.Styles.AddClass(this._accordionItemContentElem, AccordionItem_1.Enum.CssClass.PatternExpanded);
OSUI.Helper.Dom.Attribute.Remove(this._accordionItemTitleElem, OSUI.GlobalEnum.HTMLAttributes.Style);
this._expandedHeight = this._accordionItemContentElem.getBoundingClientRect().height;
OSUI.Helper.Dom.Styles.RemoveClass(this._accordionItemContentElem, AccordionItem_1.Enum.CssClass.PatternExpanded);
OSUI.Helper.Dom.Styles.SetStyleAttribute(this._accordionItemContentElem, OSUI.GlobalEnum.InlineStyle.Height, this._collapsedHeight);
OSUI.Helper.AsyncInvocation(() => {
this._animationAsync(true);
});
if (this.parentObject) {
this.notifyParent(Patterns.Accordion.Enum.ChildNotifyActionType.Click);
}
}
registerCallback(eventName, callback) {
switch (eventName) {
case AccordionItem_1.Enum.Events.OnToggle:
if (this._platformEventOnToggle === undefined) {
this._platformEventOnToggle = callback;
}
break;
default:
super.registerCallback(eventName, callback);
}
}
}
AccordionItem_1.AccordionItem = AccordionItem;
})(AccordionItem = Patterns.AccordionItem || (Patterns.AccordionItem = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var AccordionItem;
(function (AccordionItem) {
class AccordionItemConfig extends Patterns.AbstractConfiguration {
constructor(config) {
super(config);
this.ToggleWithIcon = false;
}
validateCanChange(isBuilt, key) {
if (isBuilt) {
return key !== AccordionItem.Enum.Properties.StartsExpanded;
}
return true;
}
validateDefault(key, value) {
let validatedValue = undefined;
switch (key) {
case AccordionItem.Enum.Properties.IsDisabled:
validatedValue = this.validateBoolean(value, false);
break;
case AccordionItem.Enum.Properties.Icon:
validatedValue = this.validateString(value, AccordionItem.Enum.IconType.Caret);
break;
case AccordionItem.Enum.Properties.IconPosition:
validatedValue = this.validateString(value, OSUI.GlobalEnum.Direction.Right);
break;
case AccordionItem.Enum.Properties.ToggleWithIcon:
validatedValue = this.validateBoolean(value, false);
break;
default:
validatedValue = super.validateDefault(key, value);
break;
}
return validatedValue;
}
}
AccordionItem.AccordionItemConfig = AccordionItemConfig;
})(AccordionItem = Patterns.AccordionItem || (Patterns.AccordionItem = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var AccordionItem;
(function (AccordionItem) {
var Enum;
(function (Enum) {
let Properties;
(function (Properties) {
Properties["IconPosition"] = "IconPosition";
Properties["IsDisabled"] = "IsDisabled";
Properties["Icon"] = "Icon";
Properties["StartsExpanded"] = "StartsExpanded";
Properties["ToggleWithIcon"] = "ToggleWithIcon";
})(Properties = Enum.Properties || (Enum.Properties = {}));
let CssClass;
(function (CssClass) {
CssClass["PatternAnimating"] = "osui-accordion-item__content--is-animating";
CssClass["PatternClosed"] = "osui-accordion-item--is-closed";
CssClass["PatternCollapsed"] = "osui-accordion-item__content--is-collapsed";
CssClass["PatternDisabled"] = "osui-accordion-item--is-disabled";
CssClass["PatternExpanded"] = "osui-accordion-item__content--is-expanded";
CssClass["PatternClickArea"] = "osui-accordion-item__click_zone";
CssClass["PatternContent"] = "osui-accordion-item__content";
CssClass["PatternIcon"] = "osui-accordion-item__icon";
CssClass["PatternIconCaret"] = "osui-accordion-item__icon--caret";
CssClass["PatternIconCustom"] = "osui-accordion-item__icon--custom";
CssClass["PatternIconHidden"] = "osui-accordion-item__icon--hidden";
CssClass["PatternIconPlusMinus"] = "osui-accordion-item__icon--plus-minus";
CssClass["PatternIconPositionIsLeft"] = "osui-accordion-item__title--is-left";
CssClass["PatternIconPositionIsRight"] = "osui-accordion-item__title--is-right";
CssClass["PatternOpen"] = "osui-accordion-item--is-open";
CssClass["PatternTitle"] = "osui-accordion-item__title";
CssClass["PatternToggleWithIcon"] = "osui-accordion-item--toggle-with-icon";
})(CssClass = Enum.CssClass || (Enum.CssClass = {}));
let Events;
(function (Events) {
Events["OnToggle"] = "OnToggle";
})(Events = Enum.Events || (Enum.Events = {}));
let IconType;
(function (IconType) {
IconType["Caret"] = "Caret";
IconType["Custom"] = "Custom";
IconType["PlusMinus"] = "PlusMinus";
})(IconType = Enum.IconType || (Enum.IconType = {}));
})(Enum = AccordionItem.Enum || (AccordionItem.Enum = {}));
})(AccordionItem = Patterns.AccordionItem || (Patterns.AccordionItem = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var AnimatedLabel;
(function (AnimatedLabel_1) {
class AnimatedLabel extends Patterns.AbstractPattern {
constructor(uniqueId, configs) {
super(uniqueId, new AnimatedLabel_1.AnimatedLabelConfig(configs));
this._isLabelFocus = false;
}
_addEvents() {
this._inputElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.Blur, this._eventBlur);
this._inputElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.Focus, this._eventFocus);
this._inputElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.AnimationStart, this._eventAnimationStart);
if (this._inputElement.type === 'number') {
this._inputElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventKeyDown);
}
}
_inputAnimationStartCallback(e) {
if (e.animationName === AnimatedLabel_1.Enum.AnimationEvent.OnAutoFillStart) {
this._inputStateToggle(true);
}
}
_inputBlurCallback(evt) {
if (evt.type === OSUI.GlobalEnum.HTMLEvent.Blur) {
this._inputStateToggle(false);
}
}
_inputFocusCallback(evt) {
if (evt.type === OSUI.GlobalEnum.HTMLEvent.Focus) {
this._inputStateToggle(true);
}
}
_inputKeyDownCallback(evt) {
if (evt.type === OSUI.GlobalEnum.HTMLEvent.keyDown && this._inputElement.type === 'number') {
const invalidChars = ['-', '+', 'e', 'E'];
if (invalidChars.includes(evt.key) && this._inputElement.value === OSUI.Constants.EmptyString) {
this._inputStateToggle(true);
}
}
}
_inputStateToggle(isFocus = false) {
if (this.isBuilt) {
const inputHasText = this._inputElement &&
(this._inputElement.value !== OSUI.Constants.EmptyString ||
(this._inputElement.type === 'number' && this._inputElement.checkValidity() === false));
if (this._isLabelFocus === false) {
if (isFocus || inputHasText) {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, AnimatedLabel_1.Enum.CssClasses.IsActive);
this._isLabelFocus = true;
}
}
else if (inputHasText === false && isFocus === false) {
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, AnimatedLabel_1.Enum.CssClasses.IsActive);
this._isLabelFocus = false;
}
}
}
_removeEvents() {
this._inputElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.Blur, this._eventBlur);
this._inputElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.Focus, this._eventFocus);
this._inputElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.AnimationStart, this._eventAnimationStart);
if (this._inputElement.type === 'number') {
this._inputElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventKeyDown);
}
}
setA11YProperties() {
console.warn(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
setCallbacks() {
this._eventBlur = this._inputBlurCallback.bind(this);
this._eventFocus = this._inputFocusCallback.bind(this);
this._eventAnimationStart = this._inputAnimationStartCallback.bind(this);
this._eventKeyDown = this._inputKeyDownCallback.bind(this);
this._addEvents();
}
setHtmlElements() {
this._labelPhElement = OSUI.Helper.Dom.ClassSelector(this.selfElement, AnimatedLabel_1.Enum.CssClasses.LabelPlaceholder);
this._inputPhElement = OSUI.Helper.Dom.ClassSelector(this.selfElement, AnimatedLabel_1.Enum.CssClasses.InputPlaceholder);
this._inputElement =
OSUI.Helper.Dom.TagSelector(this._inputPhElement, OSUI.GlobalEnum.DataBlocksTag.Input) ||
OSUI.Helper.Dom.TagSelector(this._inputPhElement, OSUI.GlobalEnum.DataBlocksTag.TextArea);
if (this._inputElement) {
this._inputElement.placeholder = '';
this._inputStateToggle();
}
else {
throw new Error(AnimatedLabel_1.Enum.Messages.InputNotFound);
}
if (OSUI.Helper.Dom.TagSelector(this._labelPhElement, OSUI.GlobalEnum.DataBlocksTag.Label) === undefined) {
console.warn(AnimatedLabel_1.Enum.Messages.LabelNotFound);
}
}
unsetCallbacks() {
this._removeEvents();
this._eventBlur = undefined;
this._eventFocus = undefined;
this._eventAnimationStart = undefined;
this._eventKeyDown = undefined;
}
unsetHtmlElements() {
this._labelPhElement = undefined;
this._inputPhElement = undefined;
this._inputElement = undefined;
}
build() {
OSUI.Helper.AsyncInvocation(() => {
super.build();
this.setHtmlElements();
this.setCallbacks();
this.finishBuild();
});
}
dispose() {
this.unsetCallbacks();
this.unsetHtmlElements();
super.dispose();
}
updateOnRender() {
OSUI.Helper.AsyncInvocation(() => {
if (this.isBuilt) {
this._inputStateToggle();
}
});
}
}
AnimatedLabel_1.AnimatedLabel = AnimatedLabel;
})(AnimatedLabel = Patterns.AnimatedLabel || (Patterns.AnimatedLabel = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var AnimatedLabel;
(function (AnimatedLabel) {
class AnimatedLabelConfig extends Patterns.AbstractConfiguration {
constructor(config) {
super(config);
}
}
AnimatedLabel.AnimatedLabelConfig = AnimatedLabelConfig;
})(AnimatedLabel = Patterns.AnimatedLabel || (Patterns.AnimatedLabel = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var AnimatedLabel;
(function (AnimatedLabel) {
var Enum;
(function (Enum) {
let AnimationEvent;
(function (AnimationEvent) {
AnimationEvent["OnAutoFillStart"] = "onAutoFillStart";
})(AnimationEvent = Enum.AnimationEvent || (Enum.AnimationEvent = {}));
let CssClasses;
(function (CssClasses) {
CssClasses["InputPlaceholder"] = "animated-label-input";
CssClasses["IsActive"] = "active";
CssClasses["LabelPlaceholder"] = "animated-label-text";
CssClasses["Pattern"] = "animated-label";
})(CssClasses = Enum.CssClasses || (Enum.CssClasses = {}));
let Messages;
(function (Messages) {
Messages["InputNotFound"] = "Missing input or textarea.";
Messages["LabelNotFound"] = "We notice that a label is missing inside the Label Placeholder. In order to grant accessibility add it and assign the Input Widget accordingly.";
})(Messages = Enum.Messages || (Enum.Messages = {}));
})(Enum = AnimatedLabel.Enum || (AnimatedLabel.Enum = {}));
})(AnimatedLabel = Patterns.AnimatedLabel || (Patterns.AnimatedLabel = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var BottomSheet;
(function (BottomSheet_1) {
class BottomSheet extends Patterns.AbstractPattern {
get gestureEventInstance() {
return this._gestureEventInstance;
}
get hasGestureEvents() {
return this._hasGestureEvents;
}
constructor(uniqueId, configs) {
super(uniqueId, new BottomSheet_1.BottomSheetConfig(configs));
this._isOpen = false;
this.springAnimationConfigs = {
addSpringAnimation: true,
springAnimationProperties: {
tension: 300,
friction: 15,
mass: 1,
},
};
}
_handleFocusBehavior() {
const opts = {
focusTargetElement: this._parentSelf,
canContainOtherPatterns: true,
};
this._focusTrapInstance = new OSUI.Behaviors.FocusTrap(opts);
this._focusManagerInstance = new OSUI.Behaviors.FocusManager();
}
_handleGestureEvents() {
if (!OSUI.Helper.DeviceInfo.IsDesktop) {
this._gestureEventInstance = new OSUI.Event.GestureEvent.DragEvent(this._bottomSheetHeaderElem);
this._animateOnDragInstance = new OSUI.Behaviors.AnimateOnDrag(this.selfElement);
}
}
_handleShape(shape) {
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, BottomSheet_1.Enum.CssCustomProperties.Shape, 'var(--border-radius-' + shape + ')');
}
_onContentScrollCallback() {
if (this._bottomSheetContentElem.scrollTop === 0) {
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, BottomSheet_1.Enum.CssClass.HasSCroll);
}
else {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, BottomSheet_1.Enum.CssClass.HasSCroll);
}
}
_onGestureEnd(offsetX, offsetY, timeTaken) {
this._animateOnDragInstance.onDragEnd(offsetX, offsetY, timeTaken, this.close.bind(this), this.springAnimationConfigs);
}
_onGestureMove(x, y, offsetX, offsetY, evt) {
this._animateOnDragInstance.onDragMove(offsetX, offsetY, x, y, evt);
}
_onGestureStart(x, y) {
this._animateOnDragInstance.onDragStart(true, OSUI.GlobalEnum.Direction.Down, x, y, true, this.selfElement.clientHeight.toString());
}
_onkeypressCallback(e) {
var _a, _b;
switch (e.key) {
case OSUI.GlobalEnum.Keycodes.Escape:
this.close();
break;
case OSUI.GlobalEnum.Keycodes.End:
(_a = this._focusTrapInstance.focusableElements[this._focusTrapInstance.focusableElements.length - 1]) === null || _a === void 0 ? void 0 : _a.focus();
break;
case OSUI.GlobalEnum.Keycodes.Home:
(_b = this._focusTrapInstance.focusableElements[0]) === null || _b === void 0 ? void 0 : _b.focus();
break;
}
}
_toggleBottomSheet(isOpen) {
var _a;
if ((_a = this._animateOnDragInstance) === null || _a === void 0 ? void 0 : _a.dragParams.SpringAnimation) {
this._animateOnDragInstance.dragParams.SpringAnimation.cancel();
}
if (isOpen) {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, BottomSheet_1.Enum.CssClass.IsOpen);
OSUI.Helper.Dom.Styles.AddClass(document.body, BottomSheet_1.Enum.CssClass.IsActive);
}
else {
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, BottomSheet_1.Enum.CssClass.IsOpen);
OSUI.Helper.Dom.Styles.RemoveClass(document.body, BottomSheet_1.Enum.CssClass.IsActive);
}
this._isOpen = isOpen;
this.setEventListeners();
this.setA11YProperties();
if (isOpen) {
this._focusManagerInstance.storeLastFocusedElement();
this._focusTrapInstance.enableForA11y();
this.selfElement.focus();
}
else {
this._focusTrapInstance.disableForA11y();
OSUI.Helper.AsyncInvocation(() => {
this.selfElement.blur();
this._focusManagerInstance.setFocusToStoredElement();
});
}
this._triggerOnToggleEvent();
}
_toggleHandler(ShowHandler) {
if (ShowHandler) {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, BottomSheet_1.Enum.CssClass.HasHandler);
}
else {
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, BottomSheet_1.Enum.CssClass.HasHandler);
}
}
_triggerOnToggleEvent() {
this.triggerPlatformEventCallback(this._platformEventOnToggle, this._isOpen);
}
removeEventListeners() {
this._bottomSheetContentElem.removeEventListener(OSUI.GlobalEnum.HTMLEvent.Scroll, this._eventOnContentScroll);
this.selfElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventOnKeypress);
this.removeGestureEvents();
}
setA11YProperties() {
if (!this.isBuilt) {
OSUI.Helper.A11Y.RoleComplementary(this.selfElement);
}
OSUI.Helper.Dom.Attribute.Set(this.selfElement, OSUI.Constants.A11YAttributes.Aria.Hidden, (!this._isOpen).toString());
OSUI.Helper.Dom.Attribute.Set(this.selfElement, OSUI.Constants.A11YAttributes.TabIndex, this._isOpen
? OSUI.Constants.A11YAttributes.States.TabIndexShow
: OSUI.Constants.A11YAttributes.States.TabIndexHidden);
OSUI.Helper.A11Y.SetElementsTabIndex(this._isOpen, this._focusTrapInstance.focusableElements);
}
setCallbacks() {
this._eventOnContentScroll = this._onContentScrollCallback.bind(this);
this._eventOnKeypress = this._onkeypressCallback.bind(this);
}
setEventListeners() {
this._bottomSheetContentElem.addEventListener(OSUI.GlobalEnum.HTMLEvent.Scroll, this._eventOnContentScroll);
this.selfElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventOnKeypress);
if (!OSUI.Helper.DeviceInfo.IsDesktop && this.gestureEventInstance !== undefined) {
this.setGestureEvents(this._onGestureStart.bind(this), this._onGestureMove.bind(this), this._onGestureEnd.bind(this));
}
}
setHtmlElements() {
this._parentSelf = OSUI.Helper.Dom.GetElementById(this.widgetId);
this._bottomSheetContentElem = OSUI.Helper.Dom.ClassSelector(this.selfElement, BottomSheet_1.Enum.CssClass.PatternContent);
this._bottomSheetHeaderElem = OSUI.Helper.Dom.ClassSelector(this.selfElement, BottomSheet_1.Enum.CssClass.PatternHeader);
}
setInitialOptions() {
this._toggleHandler(this.configs.ShowHandler);
this._handleShape(this.configs.Shape);
}
unsetCallbacks() {
this._eventOnContentScroll = undefined;
this._eventOnKeypress = undefined;
this._platformEventOnToggle = undefined;
}
unsetHtmlElements() {
this._parentSelf = undefined;
this._bottomSheetContentElem = undefined;
this._bottomSheetHeaderElem = undefined;
}
build() {
super.build();
this.setHtmlElements();
this._handleFocusBehavior();
this.setInitialOptions();
this.setCallbacks();
this.setA11YProperties();
this._handleGestureEvents();
this.finishBuild();
}
changeProperty(propertyName, propertyValue) {
super.changeProperty(propertyName, propertyValue);
if (this.isBuilt) {
switch (propertyName) {
case BottomSheet_1.Enum.Properties.ShowHandler:
this._toggleHandler(this.configs.ShowHandler);
break;
case BottomSheet_1.Enum.Properties.Shape:
this._handleShape(this.configs.Shape);
break;
}
}
}
close() {
if (this._isOpen) {
this._toggleBottomSheet(false);
}
}
dispose() {
if (this._isOpen) {
this.removeEventListeners();
}
this.unsetHtmlElements();
this.unsetCallbacks();
this._focusTrapInstance.dispose();
super.dispose();
}
open() {
if (this._isOpen === false) {
this._toggleBottomSheet(true);
}
}
registerCallback(eventName, callback) {
switch (eventName) {
case BottomSheet_1.Enum.Events.OnToggle:
if (this._platformEventOnToggle === undefined) {
this._platformEventOnToggle = callback;
}
break;
default:
super.registerCallback(eventName, callback);
}
}
removeGestureEvents() {
if (this._gestureEventInstance !== undefined) {
this._gestureEventInstance.unsetTouchEvents();
this._hasGestureEvents = false;
this._gestureEventInstance = undefined;
}
}
setGestureEvents(onGestureStart, onGestureMove, onGestureEnd) {
this._gestureEventInstance.setSwipeEvents(onGestureStart, onGestureMove, onGestureEnd);
this._hasGestureEvents = true;
}
}
BottomSheet_1.BottomSheet = BottomSheet;
})(BottomSheet = Patterns.BottomSheet || (Patterns.BottomSheet = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var BottomSheet;
(function (BottomSheet) {
class BottomSheetConfig extends Patterns.AbstractConfiguration {
constructor(config) {
super(config);
}
validateDefault(key, value) {
let validatedValue = undefined;
switch (key) {
case BottomSheet.Enum.Properties.Shape:
validatedValue = this.validateInRange(value, OSUI.GlobalEnum.ShapeTypes.SoftRounded, OSUI.GlobalEnum.ShapeTypes.Sharp, OSUI.GlobalEnum.ShapeTypes.Rounded);
break;
case BottomSheet.Enum.Properties.ShowHandler:
validatedValue = this.validateBoolean(value, false);
break;
default:
validatedValue = super.validateDefault(key, value);
break;
}
return validatedValue;
}
}
BottomSheet.BottomSheetConfig = BottomSheetConfig;
})(BottomSheet = Patterns.BottomSheet || (Patterns.BottomSheet = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var BottomSheet;
(function (BottomSheet) {
var Enum;
(function (Enum) {
let CssClass;
(function (CssClass) {
CssClass["HasHandler"] = "osui-bottom-sheet--has-handler";
CssClass["HasSCroll"] = "osui-bottom-sheet--has-scroll";
CssClass["IsOpen"] = "osui-bottom-sheet--is-open";
CssClass["IsActive"] = "osui-bottom-sheet--is-active";
CssClass["PatternContent"] = "osui-bottom-sheet__content";
CssClass["PatternHeader"] = "osui-bottom-sheet__header";
CssClass["PatternOverlay"] = "osui-bottom-sheet-overlay";
CssClass["PatternTopBar"] = "osui-bottom-sheet__header__top-bar";
})(CssClass = Enum.CssClass || (Enum.CssClass = {}));
let CssCustomProperties;
(function (CssCustomProperties) {
CssCustomProperties["Shape"] = "--bottom-sheet-shape";
})(CssCustomProperties = Enum.CssCustomProperties || (Enum.CssCustomProperties = {}));
let Events;
(function (Events) {
Events["OnToggle"] = "OnToggle";
})(Events = Enum.Events || (Enum.Events = {}));
let Properties;
(function (Properties) {
Properties["Shape"] = "Shape";
Properties["ShowHandler"] = "ShowHandler";
})(Properties = Enum.Properties || (Enum.Properties = {}));
})(Enum = BottomSheet.Enum || (BottomSheet.Enum = {}));
})(BottomSheet = Patterns.BottomSheet || (Patterns.BottomSheet = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var ButtonLoading;
(function (ButtonLoading_1) {
class ButtonLoading extends Patterns.AbstractPattern {
constructor(uniqueId, configs) {
super(uniqueId, new ButtonLoading_1.ButtonLoadingConfig(configs));
}
_setInitialButtonState() {
this._setIsLoading(this.configs.IsLoading);
this._setLoadingLabel(this.configs.ShowLoadingAndLabel);
}
_setIsLoading(isLoading) {
if (isLoading) {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, ButtonLoading_1.Enum.CssClass.IsLoading);
OSUI.Helper.A11Y.AriaBusyTrue(this.selfElement);
this.isBuilt &&
OSUI.Helper.Dom.Attribute.Set(this._buttonElement, OSUI.GlobalEnum.HTMLAttributes.Disabled, 'true');
this._buttonElement.blur();
}
else {
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, ButtonLoading_1.Enum.CssClass.IsLoading);
OSUI.Helper.A11Y.AriaBusyFalse(this.selfElement);
this.isBuilt && OSUI.Helper.Dom.Attribute.Remove(this._buttonElement, OSUI.GlobalEnum.HTMLAttributes.Disabled);
}
}
_setLoadingLabel(showSpinnerOnly) {
if (showSpinnerOnly && this.isBuilt) {
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, ButtonLoading_1.Enum.CssClass.ShowSpinnerOnly);
}
else if (showSpinnerOnly === false) {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, ButtonLoading_1.Enum.CssClass.ShowSpinnerOnly);
}
}
setA11YProperties() {
OSUI.Helper.A11Y.AriaLivePolite(this.selfElement);
OSUI.Helper.A11Y.AriaAtomicTrue(this.selfElement);
OSUI.Helper.A11Y.AriaHiddenTrue(this._spinnerElement);
}
setCallbacks() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
setHtmlElements() {
this._buttonElement = OSUI.Helper.Dom.ClassSelector(this.selfElement, ButtonLoading_1.Enum.CssClass.Button);
if (this._buttonElement === undefined) {
throw new Error(`There are no '${OSUI.Constants.Dot + ButtonLoading_1.Enum.CssClass.Button}' element as a ${OSUI.GlobalEnum.PatternName.ButtonLoading} placeholder child.`);
}
this._spinnerElement = OSUI.Helper.Dom.ClassSelector(this._buttonElement, ButtonLoading_1.Enum.CssClass.Spinner);
if (this._spinnerElement === undefined) {
throw new Error(`There are no '${OSUI.Constants.Dot + ButtonLoading_1.Enum.CssClass.Spinner}' element as a '${OSUI.Constants.Dot + ButtonLoading_1.Enum.CssClass.Button}' element child.`);
}
}
unsetCallbacks() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
unsetHtmlElements() {
this._buttonElement = undefined;
this._spinnerElement = undefined;
}
build() {
super.build();
this.setHtmlElements();
this._setInitialButtonState();
this.setA11YProperties();
this.finishBuild();
}
changeProperty(propertyName, propertyValue) {
super.changeProperty(propertyName, propertyValue);
if (this.isBuilt) {
switch (propertyName) {
case ButtonLoading_1.Enum.Properties.IsLoading:
this._setIsLoading(propertyValue);
break;
case ButtonLoading_1.Enum.Properties.ShowLoadingAndLabel:
this._setLoadingLabel(propertyValue);
break;
}
}
}
dispose() {
this.unsetHtmlElements();
super.dispose();
}
}
ButtonLoading_1.ButtonLoading = ButtonLoading;
})(ButtonLoading = Patterns.ButtonLoading || (Patterns.ButtonLoading = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var ButtonLoading;
(function (ButtonLoading) {
class ButtonLoadingConfig extends Patterns.AbstractConfiguration {
constructor(config) {
super(config);
}
}
ButtonLoading.ButtonLoadingConfig = ButtonLoadingConfig;
})(ButtonLoading = Patterns.ButtonLoading || (Patterns.ButtonLoading = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var ButtonLoading;
(function (ButtonLoading) {
var Enum;
(function (Enum) {
let Properties;
(function (Properties) {
Properties["IsLoading"] = "IsLoading";
Properties["ShowLoadingAndLabel"] = "ShowLoadingAndLabel";
})(Properties = Enum.Properties || (Enum.Properties = {}));
let CssClass;
(function (CssClass) {
CssClass["Button"] = "btn";
CssClass["IsLoading"] = "osui-btn-loading--is-loading";
CssClass["ShowSpinnerOnly"] = "osui-btn-loading-show-spinner";
CssClass["Spinner"] = "osui-btn-loading__spinner-animation";
})(CssClass = Enum.CssClass || (Enum.CssClass = {}));
})(Enum = ButtonLoading.Enum || (ButtonLoading.Enum = {}));
})(ButtonLoading = Patterns.ButtonLoading || (Patterns.ButtonLoading = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Carousel;
(function (Carousel) {
class AbstractCarousel extends Patterns.AbstractProviderPattern {
constructor(uniqueId, configs) {
super(uniqueId, configs);
}
build() {
super.build();
}
}
Carousel.AbstractCarousel = AbstractCarousel;
})(Carousel = Patterns.Carousel || (Patterns.Carousel = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Carousel;
(function (Carousel) {
class AbstractCarouselConfig extends Patterns.AbstractProviderConfiguration {
constructor(config) {
super(config);
}
validateCanChange(isBuilt, key) {
if (isBuilt) {
return key !== Carousel.Enum.Properties.StartingPosition;
}
return true;
}
validateDefault(key, value) {
let validatedValue = undefined;
switch (key) {
case Carousel.Enum.Properties.Navigation:
validatedValue = this.validateInRange(value, Carousel.Enum.Navigation.Both, Carousel.Enum.Navigation.Arrows, Carousel.Enum.Navigation.Dots, Carousel.Enum.Navigation.None);
break;
case Carousel.Enum.Properties.ItemsDesktop:
case Carousel.Enum.Properties.ItemsTablet:
case Carousel.Enum.Properties.ItemsPhone:
validatedValue = this.validateNumber(value, 1);
break;
case Carousel.Enum.Properties.Height:
validatedValue = this.validateString(value, Carousel.Enum.Defaults.Height);
break;
case Carousel.Enum.Properties.AutoPlay:
validatedValue = this.validateBoolean(value, false);
break;
case Carousel.Enum.Properties.ItemsGap:
validatedValue = this.validateString(value, Carousel.Enum.Defaults.SpaceNone);
break;
case Carousel.Enum.Properties.Loop:
validatedValue = this.validateBoolean(value, true);
break;
case Carousel.Enum.Properties.Padding:
validatedValue = this.validateString(value, Carousel.Enum.Defaults.SpaceNone);
break;
default:
validatedValue = super.validateDefault(key, value);
break;
}
return validatedValue;
}
}
Carousel.AbstractCarouselConfig = AbstractCarouselConfig;
})(Carousel = Patterns.Carousel || (Patterns.Carousel = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Carousel;
(function (Carousel) {
var Factory;
(function (Factory) {
function NewCarousel(carouselId, configs, provider) {
let _carouselItem = null;
if (provider === Carousel.Enum.Provider.Splide) {
_carouselItem = new Providers.OSUI.Carousel.Splide.OSUISplide(carouselId, JSON.parse(configs));
}
else {
throw new Error(`There is no ${OSUI.GlobalEnum.PatternName.Carousel} of the ${provider} provider`);
}
return _carouselItem;
}
Factory.NewCarousel = NewCarousel;
})(Factory = Carousel.Factory || (Carousel.Factory = {}));
})(Carousel = Patterns.Carousel || (Patterns.Carousel = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Carousel;
(function (Carousel) {
var Enum;
(function (Enum) {
let CarouselEvents;
(function (CarouselEvents) {
CarouselEvents["OnSlideMoved"] = "OnSlideMoved";
})(CarouselEvents = Enum.CarouselEvents || (Enum.CarouselEvents = {}));
let CssVariables;
(function (CssVariables) {
CssVariables["CarouselWidth"] = "--osui-carousel-track-width";
})(CssVariables = Enum.CssVariables || (Enum.CssVariables = {}));
let CssClass;
(function (CssClass) {
CssClass["CarouselWrapper"] = "osui-carousel";
CssClass["Content"] = "osui-carousel__content";
CssClass["HasPagination"] = "osui-carousel--has-pagination";
CssClass["Track"] = "osui-carousel__track";
})(CssClass = Enum.CssClass || (Enum.CssClass = {}));
let Direction;
(function (Direction) {
Direction["None"] = "";
Direction["LeftToRight"] = "LeftToRight";
Direction["RightToLeft"] = "RightToLeft";
})(Direction = Enum.Direction || (Enum.Direction = {}));
let Properties;
(function (Properties) {
Properties["AutoPlay"] = "AutoPlay";
Properties["Height"] = "Height";
Properties["ItemsDesktop"] = "ItemsDesktop";
Properties["ItemsGap"] = "ItemsGap";
Properties["ItemsPhone"] = "ItemsPhone";
Properties["ItemsTablet"] = "ItemsTablet";
Properties["Loop"] = "Loop";
Properties["Navigation"] = "Navigation";
Properties["Padding"] = "Padding";
Properties["StartingPosition"] = "StartingPosition";
})(Properties = Enum.Properties || (Enum.Properties = {}));
let Provider;
(function (Provider) {
Provider["Splide"] = "Splide";
})(Provider = Enum.Provider || (Enum.Provider = {}));
let Navigation;
(function (Navigation) {
Navigation["Arrows"] = "arrows";
Navigation["Both"] = "both";
Navigation["Dots"] = "dots";
Navigation["None"] = "none";
})(Navigation = Enum.Navigation || (Enum.Navigation = {}));
let Defaults;
(function (Defaults) {
Defaults["Height"] = "auto";
Defaults["SpaceNone"] = "0px";
})(Defaults = Enum.Defaults || (Enum.Defaults = {}));
})(Enum = Carousel.Enum || (Carousel.Enum = {}));
})(Carousel = Patterns.Carousel || (Patterns.Carousel = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var DatePicker;
(function (DatePicker) {
class AbstractDatePicker extends Patterns.AbstractProviderPattern {
constructor(uniqueId, configs) {
super(uniqueId, configs);
}
}
DatePicker.AbstractDatePicker = AbstractDatePicker;
})(DatePicker = Patterns.DatePicker || (Patterns.DatePicker = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var DatePicker;
(function (DatePicker) {
class AbstractDatePickerConfig extends Patterns.AbstractProviderConfiguration {
constructor(config) {
super(config);
}
validateDefault(key, value) {
let validatedValue = undefined;
switch (key) {
case DatePicker.Enum.Properties.DateFormat:
validatedValue = this.validateString(value, OSUI.Helper.Dates.ServerFormat);
break;
case DatePicker.Enum.Properties.FirstWeekDay:
validatedValue = this.validateNumber(value, 0);
break;
case DatePicker.Enum.Properties.MaxDate:
validatedValue = this.validateDate(value, undefined);
break;
case DatePicker.Enum.Properties.MinDate:
validatedValue = this.validateDate(value, undefined);
break;
case DatePicker.Enum.Properties.ShowTodayButton:
validatedValue = this.validateBoolean(value, false);
break;
case DatePicker.Enum.Properties.TimeFormat:
validatedValue = this.validateString(value, DatePicker.Enum.TimeFormatMode.Disable);
break;
default:
validatedValue = super.validateDefault(key, value);
break;
}
return validatedValue;
}
}
DatePicker.AbstractDatePickerConfig = AbstractDatePickerConfig;
})(DatePicker = Patterns.DatePicker || (Patterns.DatePicker = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var DatePicker;
(function (DatePicker) {
var Factory;
(function (Factory) {
function NewDatePicker(datePickerId, configs, mode, provider) {
let _datePickerItem = null;
switch (provider) {
case DatePicker.Enum.Provider.FlatPicker:
_datePickerItem = Providers.OSUI.Datepicker.Flatpickr.Factory.NewFlatpickr(datePickerId, mode, configs);
break;
default:
throw new Error(`There is no ${OSUI.GlobalEnum.PatternName.Datepicker} of the ${provider} provider`);
}
return _datePickerItem;
}
Factory.NewDatePicker = NewDatePicker;
})(Factory = DatePicker.Factory || (DatePicker.Factory = {}));
})(DatePicker = Patterns.DatePicker || (Patterns.DatePicker = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var DatePicker;
(function (DatePicker) {
var Enum;
(function (Enum) {
let CssClass;
(function (CssClass) {
CssClass["Calendar"] = "osui-datepicker-calendar";
CssClass["Pattern"] = "osui-datepicker";
})(CssClass = Enum.CssClass || (Enum.CssClass = {}));
let DatePickerEvents;
(function (DatePickerEvents) {
DatePickerEvents["OnChange"] = "OnChange";
DatePickerEvents["OnInitialize"] = "OnInitialize";
})(DatePickerEvents = Enum.DatePickerEvents || (Enum.DatePickerEvents = {}));
let Mode;
(function (Mode) {
Mode["Range"] = "range";
Mode["Single"] = "single";
})(Mode = Enum.Mode || (Enum.Mode = {}));
let Properties;
(function (Properties) {
Properties["DateFormat"] = "DateFormat";
Properties["FirstWeekDay"] = "FirstWeekDay";
Properties["MaxDate"] = "MaxDate";
Properties["MinDate"] = "MinDate";
Properties["ShowTodayButton"] = "ShowTodayButton";
Properties["ShowWeekNumbers"] = "ShowWeekNumbers";
Properties["TimeFormat"] = "TimeFormat";
})(Properties = Enum.Properties || (Enum.Properties = {}));
let Provider;
(function (Provider) {
Provider["FlatPicker"] = "flatpickr";
})(Provider = Enum.Provider || (Enum.Provider = {}));
let TimeFormatMode;
(function (TimeFormatMode) {
TimeFormatMode["Disable"] = "disabled";
TimeFormatMode["Time12hFormat"] = "12";
TimeFormatMode["Time24hFormat"] = "24";
})(TimeFormatMode = Enum.TimeFormatMode || (Enum.TimeFormatMode = {}));
})(Enum = DatePicker.Enum || (DatePicker.Enum = {}));
})(DatePicker = Patterns.DatePicker || (Patterns.DatePicker = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Dropdown;
(function (Dropdown) {
class AbstractDropdown extends Patterns.AbstractProviderPattern {
constructor(uniqueId, configs) {
super(uniqueId, configs);
}
}
Dropdown.AbstractDropdown = AbstractDropdown;
})(Dropdown = Patterns.Dropdown || (Patterns.Dropdown = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Dropdown;
(function (Dropdown) {
class AbstractDropdownConfig extends Patterns.AbstractProviderConfiguration {
constructor(config) {
super(config);
}
validateDefault(key, value) {
let validatedValue = undefined;
switch (key) {
case Dropdown.Enum.Properties.IsDisabled:
validatedValue = this.validateBoolean(value, false);
break;
default:
validatedValue = super.validateDefault(key, value);
break;
}
return validatedValue;
}
}
Dropdown.AbstractDropdownConfig = AbstractDropdownConfig;
})(Dropdown = Patterns.Dropdown || (Patterns.Dropdown = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Dropdown;
(function (Dropdown) {
var Factory;
(function (Factory) {
function NewDropdown(dropdownId, mode, provider, configs) {
let _dropdownItem = null;
switch (provider) {
case Dropdown.Enum.Provider.VirtualSelect:
_dropdownItem = Providers.OSUI.Dropdown.VirtualSelect.Factory.NewVirtualSelect(dropdownId, mode, JSON.parse(configs));
break;
case Dropdown.Enum.Provider.OSUIComponents:
if (mode === Dropdown.Enum.Mode.ServerSide) {
_dropdownItem = new Dropdown.ServerSide.OSUIDropdownServerSide(dropdownId, JSON.parse(configs));
}
else {
throw new Error(`There is no Dropdown of the ${provider} provider with ${mode} type`);
}
break;
default:
throw new Error(`There is no Dropdown of the ${provider} provider`);
}
return _dropdownItem;
}
Factory.NewDropdown = NewDropdown;
})(Factory = Dropdown.Factory || (Dropdown.Factory = {}));
})(Dropdown = Patterns.Dropdown || (Patterns.Dropdown = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Dropdown;
(function (Dropdown) {
var Enum;
(function (Enum) {
let CssClass;
(function (CssClass) {
CssClass["DropdownLarge"] = "dropdown--is-large";
CssClass["DropdownSmall"] = "dropdown--is-small";
})(CssClass = Enum.CssClass || (Enum.CssClass = {}));
let Mode;
(function (Mode) {
Mode["Search"] = "search";
Mode["ServerSide"] = "server-side";
Mode["Tags"] = "tags";
})(Mode = Enum.Mode || (Enum.Mode = {}));
let Properties;
(function (Properties) {
Properties["IsDisabled"] = "IsDisabled";
})(Properties = Enum.Properties || (Enum.Properties = {}));
let Provider;
(function (Provider) {
Provider["OSUIComponents"] = "osui-components";
Provider["VirtualSelect"] = "virtual-select";
})(Provider = Enum.Provider || (Enum.Provider = {}));
})(Enum = Dropdown.Enum || (Dropdown.Enum = {}));
})(Dropdown = Patterns.Dropdown || (Patterns.Dropdown = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Dropdown;
(function (Dropdown) {
var ServerSide;
(function (ServerSide) {
class OSUIDropdownServerSide extends Patterns.AbstractParent {
constructor(uniqueId, configs) {
super(uniqueId, new ServerSide.OSUIDropdownServerSideConfig(configs));
this._closeDynamically = false;
this._isOpen = false;
}
_addErrorMessage(text) {
const errorMessageElement = OSUI.Helper.Dom.ClassSelector(this.selfElement.parentElement, ServerSide.Enum.CssClass.ErrorMessage);
if (errorMessageElement === undefined) {
const textContainer = document.createElement(OSUI.GlobalEnum.HTMLElement.Div);
textContainer.classList.add(ServerSide.Enum.CssClass.ErrorMessage);
textContainer.innerHTML = text;
this.selfElement.parentElement.appendChild(textContainer);
}
}
_balloonOnToggleCallback(_args, e) {
if (e.detail.balloonElem === this._balloonElem && e.detail.isOpen !== this._isOpen) {
this._close(true);
}
}
_close(isFromBalloonEvent = false) {
if (this._isOpen === false) {
return;
}
if (!isFromBalloonEvent) {
this._balloonFeature.close();
}
this._isOpen = false;
this._touchMove();
this._updatePatternState();
this._unsetEvents(true);
}
_hasNoImplementation() {
throw new Error(`${OSUI.ErrorCodes.Dropdown.HasNoImplementation.code}: ${OSUI.ErrorCodes.Dropdown.HasNoImplementation.message}`);
}
_moveBalloonOptionsWrapper() {
if (this._shouldBalloonOptionsBeMoved()) {
const contentElem = OSUI.Helper.Dom.ClassSelector(document, OSUI.GlobalEnum.CssClassElements.Content);
OSUI.Helper.Dom.Move(this._balloonElem, contentElem);
OSFramework.OSUI.Helper.Dom.Styles.AddClass(this._balloonElem, ServerSide.Enum.CssClass.HasBeenMovedToContent);
}
}
_onBodyClick(eventName, event) {
if (this._isOpen === false) {
return;
}
this._closeDynamically = true;
const canClose = OSUI.Helper.DeviceInfo.IsPhone &&
event.target.closest(`.${ServerSide.Enum.CssClass.BalloonSearchIcon}`) === null;
if (canClose) {
this._close();
}
}
_onKeyboardPressed(event) {
event.stopPropagation();
switch (event.target) {
case this._selectValuesWrapper:
if (event.key === OSUI.GlobalEnum.Keycodes.Escape) {
this._close();
}
if (event.key === OSUI.GlobalEnum.Keycodes.Enter ||
event.key === OSUI.GlobalEnum.Keycodes.Space ||
event.key === OSUI.GlobalEnum.Keycodes.ArrowUp ||
event.key === OSUI.GlobalEnum.Keycodes.ArrowDown ||
event.key === OSUI.GlobalEnum.Keycodes.Home) {
this._selectValuesWrapper.click();
}
break;
case this._balloonOptionsWrapperElement:
if (event.key === OSUI.GlobalEnum.Keycodes.Escape) {
this._close();
}
if (event.key === OSUI.GlobalEnum.Keycodes.ArrowUp) {
if (this._balloonSearchInputElement) {
this._balloonSearchInputElement.focus();
}
}
else if (event.key === OSUI.GlobalEnum.Keycodes.ArrowDown) {
event.preventDefault();
this.getChildByIndex(0).setFocus();
if (this.configs.AllowMultipleSelection === false) {
this.getChildByIndex(0).toggleSelected();
}
}
break;
case this._balloonSearchInputElement:
if (event.key === OSUI.GlobalEnum.Keycodes.Escape) {
this._close();
}
break;
}
}
_onSearchInputBlur() {
OSUI.Helper.Dom.Styles.RemoveClass(this._balloonElem, ServerSide.Enum.CssClass.SearchInputIsFocused);
}
_onSearchInputClicked(event) {
event.stopPropagation();
}
_onSearchInputFocus() {
OSUI.Helper.Dom.Styles.AddClass(this._balloonElem, ServerSide.Enum.CssClass.SearchInputIsFocused);
}
_onSelectValuesWrapperClicked() {
this._isOpen ? this._close() : this._open();
}
_onTouchMove(event) {
if (event.target === this._balloonElem) {
event.preventDefault();
}
}
_open() {
if (this._isOpen) {
return;
}
this._balloonFeature.open(true);
this._closeDynamically = false;
this._isOpen = true;
this._touchMove();
OSUI.Helper.Dom.Styles.AddClass(document.body, ServerSide.Enum.CssClass.IsVisible);
this._updatePatternState();
OSUI.Helper.AsyncInvocation(this._setUpEvents.bind(this));
}
_optionItemHasBeenClicked(optionItemId) {
const clickedItem = this.getChild(optionItemId);
if (clickedItem) {
if (this.configs.AllowMultipleSelection) {
clickedItem.toggleSelected();
}
if (this.configs.AllowMultipleSelection === false) {
this._close();
if (clickedItem.IsSelected === false) {
clickedItem.toggleSelected();
}
}
}
else {
throw new Error(`${OSUI.ErrorCodes.Dropdown.FailOptionItemClicked}: The ${OSUI.GlobalEnum.PatternName.DropdownServerSideItem} under uniqueId: '${optionItemId}' does not exist as an OptionItem from ${OSUI.GlobalEnum.PatternName.Dropdown} with Id: ${this.widgetId}.`);
}
}
_optionItemKeyPressed(optionItemId) {
const optionItem = this.getChild(optionItemId);
if (optionItem !== undefined) {
const getOptionItemIndex = this.getChildIndex(optionItemId);
if (optionItem.keyboardTriggeredKey === undefined) {
return;
}
switch (optionItem.keyboardTriggeredKey) {
case OSUI.GlobalEnum.Keycodes.Enter:
case OSUI.GlobalEnum.Keycodes.Space:
this._optionItemHasBeenClicked(optionItemId);
break;
case OSUI.GlobalEnum.Keycodes.ArrowUp:
if (getOptionItemIndex > 0) {
this._updateOptionItemFocuStateOnKeyPress(optionItem, getOptionItemIndex - 1);
}
break;
case OSUI.GlobalEnum.Keycodes.ArrowDown:
if (getOptionItemIndex < this.getChildItems().length - 1) {
this._updateOptionItemFocuStateOnKeyPress(optionItem, getOptionItemIndex + 1);
}
break;
case OSUI.GlobalEnum.Keycodes.ShiftTab:
if (this._balloonSearchInputElement) {
this._balloonSearchInputElement.focus();
}
break;
case OSUI.GlobalEnum.Keycodes.Tab:
if (this._balloonFocusableElemsInFooter.length > 0) {
this._balloonFocusableElemsInFooter[0].focus();
}
break;
case OSUI.GlobalEnum.Keycodes.Escape:
this._close();
break;
}
}
else {
throw new Error(`${OSUI.ErrorCodes.Dropdown.FailOptionItemKeyPressed}: The ${OSUI.GlobalEnum.PatternName.DropdownServerSideItem} under uniqueId: '${optionItemId}' does not exist as an OptionItem from ${OSUI.GlobalEnum.PatternName.Dropdown} with Id: ${this.widgetId}.`);
}
}
_setBalloonFeature() {
this.setBalloonOptions();
this._balloonFeature = new OSFramework.OSUI.Feature.Balloon.Balloon(this, this._balloonElem, this.balloonOptions);
OSFramework.OSUI.Helper.AsyncInvocation(this._moveBalloonOptionsWrapper.bind(this));
}
_setCssClasses() {
if (this._balloonSearchInputElement === undefined) {
OSUI.Helper.Dom.Styles.AddClass(this._balloonElem, ServerSide.Enum.CssClass.BalloonHasNotSearchInput);
}
}
_setInitialOptions() {
if (this.configs.IsDisabled) {
this.disable();
}
}
_setNewOptionItem(optionItem) {
if (this.getChild(optionItem.uniqueId)) {
throw new Error(`${OSUI.ErrorCodes.Dropdown.FailSetNewOptionItem}: There is already a ${OSUI.GlobalEnum.PatternName.DropdownServerSideItem} under Id: '${optionItem.widgetId}' added to ${OSUI.GlobalEnum.PatternName.Dropdown} with uniqueId: ${this.uniqueId}.`);
}
else {
this.setChild(optionItem);
}
}
_setUpEvents() {
this._selectValuesWrapper.addEventListener(OSUI.GlobalEnum.HTMLEvent.Click, this._eventOnClick);
this._selectValuesWrapper.addEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventOnkeyboardPress);
if (this.isBuilt) {
this._balloonOptionsWrapperElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventOnkeyboardPress);
if (this._balloonSearchInputElement) {
this._balloonSearchInputElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.Click, this._eventOnClickInputSearch);
this._balloonSearchInputElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventOnkeyboardPress);
this._balloonSearchInputElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.Blur, this._eventOnSearchInputBlur);
this._balloonSearchInputElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.Focus, this._eventOnSearchInputFocus);
}
OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.addHandler(OSUI.Event.DOMEvents.Listeners.Type.BodyOnClick, this._eventOnBodyClick);
OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.addHandler(OSUI.Event.DOMEvents.Listeners.Type.BalloonOnToggle, this._eventBalloonOnToggle);
}
}
_shouldBalloonOptionsBeMoved() {
if (OSUI.Helper.DeviceInfo.IsPhone &&
(this.selfElement.closest(ServerSide.Enum.InsidePattern.BottomSheet) ||
this.selfElement.closest(ServerSide.Enum.InsidePattern.Notification) ||
this.selfElement.closest(ServerSide.Enum.InsidePattern.Sidebar))) {
return true;
}
else {
return false;
}
}
_touchMove() {
if (OSUI.Helper.DeviceInfo.IsIos && 'ontouchmove' in window) {
if (this._isOpen) {
this._balloonElem.addEventListener(OSUI.GlobalEnum.HTMLEvent.TouchMove, this._eventOnTouchMove);
}
else {
this._balloonElem.removeEventListener(OSUI.GlobalEnum.HTMLEvent.TouchMove, this._eventOnTouchMove);
}
}
}
_triggerToogleCalbackEvent() {
this.triggerPlatformEventCallback(this._platformEventOnToggleCallback, this._isOpen);
}
_unsetEvents(isUpdate = false) {
if (isUpdate === false) {
this._selectValuesWrapper.removeEventListener(OSUI.GlobalEnum.HTMLEvent.Click, this._eventOnClick);
this._selectValuesWrapper.removeEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventOnkeyboardPress);
}
this._balloonOptionsWrapperElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventOnkeyboardPress);
OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.addHandler(OSUI.Event.DOMEvents.Listeners.Type.BalloonOnToggle, this._eventBalloonOnToggle);
OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.removeHandler(OSUI.Event.DOMEvents.Listeners.Type.BodyOnClick, this._eventOnBodyClick);
if (this._balloonSearchInputElement) {
this._balloonSearchInputElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.Click, this._eventOnClickInputSearch);
this._balloonSearchInputElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventOnkeyboardPress);
this._balloonSearchInputElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.Blur, this._eventOnSearchInputBlur);
this._balloonSearchInputElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.Focus, this._eventOnSearchInputFocus);
}
}
_unsetNewOptionItem(optionItemId) {
if (this.getChild(optionItemId)) {
this.unsetChild(optionItemId);
}
else {
throw new Error(`${OSUI.ErrorCodes.Dropdown.FailUnsetNewOptionItem}: The ${OSUI.GlobalEnum.PatternName.DropdownServerSideItem} under uniqueId: '${optionItemId}' does not exist as an OptionItem from ${OSUI.GlobalEnum.PatternName.Dropdown} with Id: ${this.widgetId}.`);
}
}
_updateBalloonAccessibilityElements() {
const tabIndexValue = this._isOpen
? OSUI.Constants.A11YAttributes.States.TabIndexShow
: OSUI.Constants.A11YAttributes.States.TabIndexHidden;
if (this._balloonSearchInputElement !== undefined) {
OSUI.Helper.A11Y.TabIndex(this._balloonSearchInputElement, tabIndexValue);
OSUI.Helper.A11Y.AriaHidden(this._balloonSearchInputElement, (tabIndexValue === OSUI.Constants.A11YAttributes.States.TabIndexHidden).toString());
}
if (this._balloonFocusableElemsInFooter.length > 0) {
OSUI.Helper.A11Y.SetElementsTabIndex(this._isOpen, this._balloonFocusableElemsInFooter);
}
OSUI.Helper.A11Y.TabIndex(this._balloonOptionsWrapperElement, tabIndexValue);
if (this._balloonFocusableElemsInFooter.length > 0) {
OSUI.Helper.A11Y.SetElementsTabIndex(this._isOpen, this._balloonFocusableElemsInFooter);
}
if (this._isOpen) {
OSUI.Helper.A11Y.AriaHiddenFalse(this._balloonOptionsWrapperElement);
}
else {
OSUI.Helper.Dom.Styles.RemoveClass(this._balloonElem, OSUI.Constants.HasAccessibilityClass);
OSUI.Helper.A11Y.AriaHiddenTrue(this._balloonOptionsWrapperElement);
}
}
_updateOptionItemFocuStateOnKeyPress(optionItem, itemIndex) {
if (this.configs.AllowMultipleSelection === false) {
optionItem.toggleSelected();
this.getChildByIndex(itemIndex).toggleSelected();
}
optionItem.setBlur();
this.getChildByIndex(itemIndex).setFocus();
}
_updatePatternState() {
this._updateBalloonAccessibilityElements();
if (this._isOpen) {
OSUI.Helper.Dom.Styles.AddClass(this._balloonElem, ServerSide.Enum.CssClass.IsOpened);
if (this._balloonSearchInputElement) {
this._balloonSearchInputElement.focus();
}
else {
this._balloonOptionsWrapperElement.focus();
}
}
else {
OSUI.Helper.Dom.Styles.RemoveClass(this._balloonElem, ServerSide.Enum.CssClass.IsOpened);
if (this._closeDynamically === false) {
this._selectValuesWrapper.focus();
}
}
this._triggerToogleCalbackEvent();
}
setA11YProperties() {
this._updateBalloonAccessibilityElements();
OSUI.Helper.A11Y.TabIndexTrue(this._selectValuesWrapper);
OSUI.Helper.A11Y.RoleButton(this._selectValuesWrapper);
OSUI.Helper.A11Y.AriaHasPopup(this._selectValuesWrapper, OSUI.Constants.A11YAttributes.Aria.Haspopup.value.Listbox);
OSUI.Helper.A11Y.RoleListbox(this._balloonOptionsWrapperElement);
OSUI.Helper.A11Y.TabIndexFalse(this._balloonOptionsWrapperElement);
OSUI.Helper.A11Y.AriaHiddenTrue(this._balloonOptionsWrapperElement);
if (this.configs.AllowMultipleSelection) {
OSUI.Helper.A11Y.MultiselectableTrue(this._balloonOptionsWrapperElement);
}
this.setSelectAriaLabel();
this.setBalloonOptionsAriaLabel();
}
setCallbacks() {
this._eventOnBodyClick = this._onBodyClick.bind(this);
this._eventBalloonOnToggle = this._balloonOnToggleCallback.bind(this);
this._eventOnClick = this._onSelectValuesWrapperClicked.bind(this);
this._eventOnClickInputSearch = this._onSearchInputClicked.bind(this);
this._eventOnkeyboardPress = this._onKeyboardPressed.bind(this);
this._eventOnSearchInputBlur = this._onSearchInputBlur.bind(this);
this._eventOnSearchInputFocus = this._onSearchInputFocus.bind(this);
this._eventOnTouchMove = this._onTouchMove.bind(this);
}
setHtmlElements() {
this._balloonFooterElement = OSUI.Helper.Dom.ClassSelector(this.selfElement, ServerSide.Enum.CssClass.BalloonFooter);
this._balloonFocusableElemsInFooter = OSUI.Helper.Dom.TagSelectorAll(this._balloonFooterElement, OSUI.Constants.FocusableElems);
this._balloonSearchInputWrapperElement = OSUI.Helper.Dom.ClassSelector(this.selfElement, ServerSide.Enum.CssClass.BalloonSearch);
this._balloonSearchInputElement = OSUI.Helper.Dom.TagSelector(this._balloonSearchInputWrapperElement, OSUI.GlobalEnum.HTMLElement.Input);
this._balloonContainerElement = OSUI.Helper.Dom.ClassSelector(this.selfElement, ServerSide.Enum.CssClass.BalloonContainer);
this._balloonElem = OSUI.Helper.Dom.ClassSelector(this.selfElement, ServerSide.Enum.CssClass.Balloon);
this._balloonOptionsWrapperElement = OSUI.Helper.Dom.ClassSelector(this._balloonElem, ServerSide.Enum.CssClass.BalloonContent);
this._selectValuesWrapper = OSUI.Helper.Dom.ClassSelector(this.selfElement, ServerSide.Enum.CssClass.SelectValuesWrapper);
}
unsetCallbacks() {
this._eventOnBodyClick = undefined;
this._eventBalloonOnToggle = undefined;
this._eventOnClick = undefined;
this._eventOnClickInputSearch = undefined;
this._eventOnkeyboardPress = undefined;
this._eventOnSearchInputBlur = undefined;
this._eventOnSearchInputFocus = undefined;
this._eventOnTouchMove = undefined;
this._platformEventOnToggleCallback = undefined;
}
unsetHtmlElements() {
this._balloonContainerElement = undefined;
this._balloonFocusableElemsInFooter = [];
this._balloonFooterElement = undefined;
this._balloonOptionsWrapperElement = undefined;
this._balloonSearchInputElement = undefined;
this._balloonSearchInputWrapperElement = undefined;
this._balloonElem = undefined;
this._selectValuesWrapper = undefined;
}
beNotifiedByChild(childItem, notifiedTo) {
switch (notifiedTo) {
case ServerSide.Enum.ChildNotifyActionType.Add:
this._setNewOptionItem(childItem);
break;
case ServerSide.Enum.ChildNotifyActionType.Click:
this._optionItemHasBeenClicked(childItem.uniqueId);
break;
case ServerSide.Enum.ChildNotifyActionType.KeyPressed:
this._optionItemKeyPressed(childItem.uniqueId);
break;
case ServerSide.Enum.ChildNotifyActionType.Removed:
this._unsetNewOptionItem(childItem.uniqueId);
break;
default:
throw new Error(`${OSUI.ErrorCodes.Dropdown.FailToSetOptionItemAction}: There no exist a '${notifiedTo}' notification type.`);
}
}
build() {
super.build();
this.setCallbacks();
this.setHtmlElements();
this.setA11YProperties();
this._setUpEvents();
this._setCssClasses();
this._setInitialOptions();
this._setBalloonFeature();
this.finishBuild();
}
changeProperty(propertyName, propertyValue) {
super.changeProperty(propertyName, propertyValue);
if (this.isBuilt) {
switch (propertyName) {
case ServerSide.Enum.Properties.IsDisabled:
propertyValue ? this.disable() : this.enable();
break;
}
}
}
clear() {
const selectedOptions = this.getChildItems().filter((item) => item.IsSelected);
for (const optionItem of selectedOptions) {
optionItem.toggleSelected(false);
}
}
close() {
OSFramework.OSUI.Helper.AsyncInvocation(this._close.bind(this));
}
disable() {
OSUI.Helper.Dom.Attribute.Set(this.selfElement, OSUI.GlobalEnum.HTMLAttributes.Disabled, '');
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, ServerSide.Enum.CssClass.IsDisabled);
OSUI.Helper.A11Y.TabIndexFalse(this._selectValuesWrapper);
}
dispose() {
var _a;
this._unsetEvents();
(_a = this._balloonFeature) === null || _a === void 0 ? void 0 : _a.dispose();
this.unsetCallbacks();
this.unsetHtmlElements();
super.dispose();
}
enable() {
OSUI.Helper.Dom.Attribute.Remove(this.selfElement, OSUI.GlobalEnum.HTMLAttributes.Disabled);
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, ServerSide.Enum.CssClass.IsDisabled);
OSUI.Helper.A11Y.TabIndexTrue(this._selectValuesWrapper);
}
getSelectedValues() {
return this._hasNoImplementation();
}
open() {
OSFramework.OSUI.Helper.AsyncInvocation(this._open.bind(this));
}
registerCallback(eventName, callback) {
switch (eventName) {
case ServerSide.Enum.Events.OnToggle:
if (this._platformEventOnToggleCallback === undefined) {
this._platformEventOnToggleCallback = callback;
}
break;
default:
super.registerCallback(eventName, callback);
}
}
setBalloonOptions(balloonOptions) {
if (balloonOptions !== undefined) {
this.balloonOptions = balloonOptions;
}
else {
const _focusOptions = {
elemToFocusOnOpen: this._selectValuesWrapper,
useFocus: true,
focusTrapParams: {
focusBottomCallback: this.close.bind(this),
focusTargetElement: this._balloonContainerElement,
focusTopCallback: this.close.bind(this),
},
};
this.balloonOptions = {
alignment: OSUI.GlobalEnum.FloatingAlignment.Start,
anchorElem: this._selectValuesWrapper,
allowedPlacements: [OSUI.GlobalEnum.FloatingPosition.TopStart, OSUI.GlobalEnum.FloatingPosition.BottomStart],
position: OSUI.GlobalEnum.FloatingPosition.Auto,
shape: OSUI.GlobalEnum.ShapeTypes.SoftRounded,
focusOptions: _focusOptions,
useTriggerWidth: true,
};
}
}
setBalloonOptionsAriaLabel(value) {
this._balloonOptionsAriaLabel = value === undefined ? this.configs.balloonOptionsArialabel : value;
OSUI.Helper.A11Y.AriaLabel(this._balloonOptionsWrapperElement, this._balloonOptionsAriaLabel);
}
setProviderConfigs() {
return this._hasNoImplementation();
}
setProviderEvent() {
return this._hasNoImplementation();
}
setSelectAriaLabel(value) {
this._selectValuesWrapperAriaLabel =
value === undefined ? this.configs.selectValuesWrapperAriaLabel : value;
OSUI.Helper.A11Y.AriaLabel(this._selectValuesWrapper, this._selectValuesWrapperAriaLabel);
}
unsetProviderEvent() {
return this._hasNoImplementation();
}
validation(isValid, validationMessage) {
if (isValid === false) {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, ServerSide.Enum.CssClass.NotValid);
this._addErrorMessage(validationMessage);
}
else {
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, ServerSide.Enum.CssClass.NotValid);
const errorMessageElement = OSUI.Helper.Dom.ClassSelector(this.selfElement.parentElement, ServerSide.Enum.CssClass.ErrorMessage);
if (errorMessageElement) {
errorMessageElement.remove();
}
}
}
}
ServerSide.OSUIDropdownServerSide = OSUIDropdownServerSide;
})(ServerSide = Dropdown.ServerSide || (Dropdown.ServerSide = {}));
})(Dropdown = Patterns.Dropdown || (Patterns.Dropdown = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Dropdown;
(function (Dropdown) {
var ServerSide;
(function (ServerSide) {
class OSUIDropdownServerSideConfig extends Patterns.AbstractConfiguration {
constructor(config) {
super(config);
this._balloonMaxHeight = ServerSide.Enum.PropertiesValues.MaxHeight;
this._balloonOptionsArialabel = '';
this._selectValuesWrapperAriaLabel = ServerSide.Enum.PropertiesValues.SelectValuesWrapperAriaLabelValue;
this._balloonOptionsArialabel = this.AllowMultipleSelection
? ServerSide.Enum.PropertiesValues.BalloonOptionsWrapperAriaLabelMultipleValue
: ServerSide.Enum.PropertiesValues.BalloonOptionsWrapperAriaLabelSingleValue;
}
validateDefault(key, value) {
let validatedValue = undefined;
switch (key) {
case ServerSide.Enum.Properties.AllowMultipleSelection:
case ServerSide.Enum.Properties.IsDisabled:
validatedValue = this.validateBoolean(value, false);
break;
default:
validatedValue = super.validateDefault(key, value);
break;
}
return validatedValue;
}
get balloonMaxHeight() {
return this._balloonMaxHeight;
}
get balloonOptionsArialabel() {
return this._balloonOptionsArialabel;
}
get selectValuesWrapperAriaLabel() {
return this._selectValuesWrapperAriaLabel;
}
}
ServerSide.OSUIDropdownServerSideConfig = OSUIDropdownServerSideConfig;
})(ServerSide = Dropdown.ServerSide || (Dropdown.ServerSide = {}));
})(Dropdown = Patterns.Dropdown || (Patterns.Dropdown = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Dropdown;
(function (Dropdown) {
var ServerSide;
(function (ServerSide) {
var Enum;
(function (Enum) {
let ChildNotifyActionType;
(function (ChildNotifyActionType) {
ChildNotifyActionType["Add"] = "add";
ChildNotifyActionType["Click"] = "click";
ChildNotifyActionType["KeyPressed"] = "keyPressed";
ChildNotifyActionType["Removed"] = "removed";
})(ChildNotifyActionType = Enum.ChildNotifyActionType || (Enum.ChildNotifyActionType = {}));
let CssClass;
(function (CssClass) {
CssClass["Balloon"] = "osui-dropdown-serverside__balloon";
CssClass["BalloonContainer"] = "osui-dropdown-serverside__balloon-container";
CssClass["BalloonContent"] = "osui-dropdown-serverside__balloon-content";
CssClass["BalloonFooter"] = "osui-dropdown-serverside__balloon-footer";
CssClass["BalloonHasNotSearchInput"] = "osui-dropdown-serverside__balloon--has-not-search";
CssClass["BalloonSearch"] = "osui-dropdown-serverside__balloon-search";
CssClass["BalloonSearchIcon"] = "osui-dropdown-serverside__balloon-search-icon";
CssClass["ErrorMessage"] = "osui-dropdown-serverside-error-message";
CssClass["HasBeenMovedToContent"] = "osui-dropdown-serverside--at-content";
CssClass["IsDisabled"] = "osui-dropdown-serverside--is-disabled";
CssClass["IsOpened"] = "osui-dropdown-serverside--is-opened";
CssClass["IsVisible"] = "osui-dropdown-serverside-visible";
CssClass["NotValid"] = "osui-dropdown-serverside--not-valid";
CssClass["Pattern"] = "osui-dropdown-serverside";
CssClass["SearchInputIsFocused"] = "osui-dropdown-serverside__search-input--is-focused";
CssClass["SelectText"] = "osui-dropdown-serverside__text";
CssClass["SelectValuesWrapper"] = "osui-dropdown-serverside__selected-values-wrapper";
})(CssClass = Enum.CssClass || (Enum.CssClass = {}));
let Events;
(function (Events) {
Events["OnToggle"] = "OnToggle";
})(Events = Enum.Events || (Enum.Events = {}));
let InlineCssVariables;
(function (InlineCssVariables) {
InlineCssVariables["BalloonMaxHeight"] = "--osui-dropdown-ss-balloon-max-height";
InlineCssVariables["InputHeight"] = "--osui-dropdown-ss-input-height";
InlineCssVariables["Left"] = "--osui-dropdown-ss-left";
InlineCssVariables["ThresholVerticalAnimate"] = "--osui-dropdown-ss-thresholdanimateval";
InlineCssVariables["Top"] = "--osui-dropdown-ss-top";
InlineCssVariables["Width"] = "--osui-dropdown-ss-width";
})(InlineCssVariables = Enum.InlineCssVariables || (Enum.InlineCssVariables = {}));
let InsidePattern;
(function (InsidePattern) {
InsidePattern["BottomSheet"] = ".osui-bottom-sheet";
InsidePattern["Notification"] = ".osui-notification";
InsidePattern["Sidebar"] = ".osui-sidebar";
})(InsidePattern = Enum.InsidePattern || (Enum.InsidePattern = {}));
let Properties;
(function (Properties) {
Properties["AllowMultipleSelection"] = "AllowMultipleSelection";
Properties["IsDisabled"] = "IsDisabled";
})(Properties = Enum.Properties || (Enum.Properties = {}));
let PropertiesValues;
(function (PropertiesValues) {
PropertiesValues["BalloonOptionsWrapperAriaLabelMultipleValue"] = "Select one or more options";
PropertiesValues["BalloonOptionsWrapperAriaLabelSingleValue"] = "Select an option";
PropertiesValues[PropertiesValues["MaxHeight"] = 320] = "MaxHeight";
PropertiesValues["SelectValuesWrapperAriaLabelValue"] = "Select an option";
PropertiesValues[PropertiesValues["ThresholVerticalAnimateValue"] = 20] = "ThresholVerticalAnimateValue";
})(PropertiesValues = Enum.PropertiesValues || (Enum.PropertiesValues = {}));
})(Enum = ServerSide.Enum || (ServerSide.Enum = {}));
})(ServerSide = Dropdown.ServerSide || (Dropdown.ServerSide = {}));
})(Dropdown = Patterns.Dropdown || (Patterns.Dropdown = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var DropdownServerSideItem;
(function (DropdownServerSideItem_1) {
class DropdownServerSideItem extends Patterns.AbstractChild {
constructor(uniqueId, configs) {
super(uniqueId, new DropdownServerSideItem_1.DropdownServerSideItemConfig(configs));
}
_onKeyboardPressed(event) {
event.preventDefault();
event.stopPropagation();
this.keyboardTriggeredKey = event.key;
switch (event.key) {
case OSUI.GlobalEnum.Keycodes.Enter:
case OSUI.GlobalEnum.Keycodes.Space:
this._onSelected(event);
break;
case OSUI.GlobalEnum.Keycodes.ArrowUp:
case OSUI.GlobalEnum.Keycodes.ArrowDown:
case OSUI.GlobalEnum.Keycodes.Escape:
this.notifyParent(Patterns.Dropdown.ServerSide.Enum.ChildNotifyActionType.KeyPressed);
break;
case OSUI.GlobalEnum.Keycodes.Tab:
if (event.shiftKey) {
this.keyboardTriggeredKey = OSUI.GlobalEnum.Keycodes.ShiftTab;
}
else {
this.keyboardTriggeredKey = OSUI.GlobalEnum.Keycodes.Tab;
}
this.notifyParent(Patterns.Dropdown.ServerSide.Enum.ChildNotifyActionType.KeyPressed);
break;
}
}
_onSelected(event) {
event.stopPropagation();
this.notifyParent(event.type === OSUI.GlobalEnum.HTMLEvent.Click
? Patterns.Dropdown.ServerSide.Enum.ChildNotifyActionType.Click
: Patterns.Dropdown.ServerSide.Enum.ChildNotifyActionType.KeyPressed);
}
_removeEvents() {
this.selfElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.Click, this._eventOnClick);
this.selfElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventOnkeyboardPress);
}
_setUpEvents() {
this.selfElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.Click, this._eventOnClick);
this.selfElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventOnkeyboardPress);
}
_updateSelectedStatus(status) {
this.configs.IsSelected = status;
if (this.configs.IsSelected) {
OSUI.Helper.A11Y.AriaSelectedTrue(this.selfElement);
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, DropdownServerSideItem_1.Enum.CssClass.IsSelected);
}
else {
OSUI.Helper.A11Y.AriaSelectedFalse(this.selfElement);
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, DropdownServerSideItem_1.Enum.CssClass.IsSelected);
}
}
setA11YProperties() {
OSUI.Helper.A11Y.TabIndexFalse(this.selfElement);
OSUI.Helper.A11Y.RoleOption(this.selfElement);
OSUI.Helper.A11Y.AriaSelectedFalse(this.selfElement);
}
setCallbacks() {
this._eventOnClick = this._onSelected.bind(this);
this._eventOnkeyboardPress = this._onKeyboardPressed.bind(this);
}
setHtmlElements() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
unsetCallbacks() {
this._eventOnClick = null;
this._eventOnkeyboardPress = null;
this._platformEventOnClickCallback = null;
}
unsetHtmlElements() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
build() {
super.build();
this.setParentInfo(OSUI.Constants.Dot + DropdownServerSideItem_1.Enum.CssClass.DropdownParentBalloon, OutSystems.OSUI.Patterns.DropdownAPI.GetDropdownById);
this.notifyParent(Patterns.Dropdown.ServerSide.Enum.ChildNotifyActionType.Add);
this.setCallbacks();
this._setUpEvents();
this.setA11YProperties();
this._updateSelectedStatus(this.configs.IsSelected);
this.finishBuild();
}
changeProperty(propertyName, propertyValue) {
super.changeProperty(propertyName, propertyValue);
if (this.isBuilt) {
switch (propertyName) {
case DropdownServerSideItem_1.Enum.Properties.IsSelected:
this._updateSelectedStatus(propertyValue);
break;
}
}
}
dispose() {
if (this.isBuilt) {
this.unsetCallbacks();
this._removeEvents();
this.notifyParent(Patterns.Dropdown.ServerSide.Enum.ChildNotifyActionType.Removed);
}
super.dispose();
}
registerCallback(eventName, callback) {
switch (eventName) {
case DropdownServerSideItem_1.Enum.Events.OnSelected:
if (this._platformEventOnClickCallback === undefined) {
this._platformEventOnClickCallback = callback;
}
break;
default:
super.registerCallback(eventName, callback);
}
}
setBlur() {
this.selfElement.blur();
}
setFocus() {
this.selfElement.focus();
}
setTabindex() {
OSUI.Helper.A11Y.TabIndexTrue(this.selfElement);
}
toggleSelected(triggerCallback = true) {
this._updateSelectedStatus(!this.configs.IsSelected);
if (triggerCallback) {
this.triggerPlatformEventCallback(this._platformEventOnClickCallback, this.configs.ItemId);
}
}
unsetTabindex() {
OSUI.Helper.A11Y.TabIndexFalse(this.selfElement);
}
get IsSelected() {
return this.configs.IsSelected;
}
get ItemId() {
return this.configs.ItemId;
}
}
DropdownServerSideItem_1.DropdownServerSideItem = DropdownServerSideItem;
})(DropdownServerSideItem = Patterns.DropdownServerSideItem || (Patterns.DropdownServerSideItem = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var DropdownServerSideItem;
(function (DropdownServerSideItem) {
class DropdownServerSideItemConfig extends Patterns.AbstractConfiguration {
constructor(config) {
super(config);
}
validateDefault(key, value) {
let validatedValue = undefined;
switch (key) {
case DropdownServerSideItem.Enum.Properties.IsSelected:
validatedValue = this.validateBoolean(value, false);
break;
case DropdownServerSideItem.Enum.Properties.ItemId:
validatedValue = this.validateString(value, undefined);
break;
default:
validatedValue = super.validateDefault(key, value);
break;
}
return validatedValue;
}
}
DropdownServerSideItem.DropdownServerSideItemConfig = DropdownServerSideItemConfig;
})(DropdownServerSideItem = Patterns.DropdownServerSideItem || (Patterns.DropdownServerSideItem = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var DropdownServerSideItem;
(function (DropdownServerSideItem) {
var Enum;
(function (Enum) {
let CssClass;
(function (CssClass) {
CssClass["DropdownParentBalloon"] = "osui-dropdown-serverside__balloon";
CssClass["IsSelected"] = "osui-dropdown-serverside-item--is-selected";
})(CssClass = Enum.CssClass || (Enum.CssClass = {}));
let Events;
(function (Events) {
Events["OnSelected"] = "OnSelected";
})(Events = Enum.Events || (Enum.Events = {}));
let Properties;
(function (Properties) {
Properties["IsSelected"] = "IsSelected";
Properties["ItemId"] = "ItemId";
})(Properties = Enum.Properties || (Enum.Properties = {}));
})(Enum = DropdownServerSideItem.Enum || (DropdownServerSideItem.Enum = {}));
})(DropdownServerSideItem = Patterns.DropdownServerSideItem || (Patterns.DropdownServerSideItem = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var FlipContent;
(function (FlipContent) {
var Enum;
(function (Enum) {
let Properties;
(function (Properties) {
Properties["FlipSelf"] = "FlipSelf";
Properties["IsFlipped"] = "IsFlipped";
})(Properties = Enum.Properties || (Enum.Properties = {}));
let CssClass;
(function (CssClass) {
CssClass["PatternBack"] = "osui-flip-content__container__back";
CssClass["PatternContainer"] = "osui-flip-content__container";
CssClass["PatternDataFlipped"] = "data-flipped";
CssClass["PatternFlipSelf"] = "osui-flip-content--flip-self";
CssClass["PatternFront"] = "osui-flip-content__container__front";
CssClass["PatternIsFlipped"] = "osui-flip-content--flipped";
})(CssClass = Enum.CssClass || (Enum.CssClass = {}));
let Events;
(function (Events) {
Events["OnToggle"] = "OnToggle";
})(Events = Enum.Events || (Enum.Events = {}));
})(Enum = FlipContent.Enum || (FlipContent.Enum = {}));
})(FlipContent = Patterns.FlipContent || (Patterns.FlipContent = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var FlipContent;
(function (FlipContent_1) {
class FlipContent extends Patterns.AbstractPattern {
constructor(uniqueId, configs) {
super(uniqueId, new FlipContent_1.FlipContentConfig(configs));
}
_keydownCallback(e) {
if (e.key === OSUI.GlobalEnum.Keycodes.Enter ||
e.key === OSUI.GlobalEnum.Keycodes.Space ||
(e.key === OSUI.GlobalEnum.Keycodes.Escape && this.configs.IsFlipped)) {
this.toggleFlipContent();
e.preventDefault();
e.stopPropagation();
}
}
_removeEvents() {
this.selfElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventKeydown);
this._flipWrapperElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.Click, this._eventClick);
}
_setEventHandlers() {
if (this.configs.FlipSelf) {
this.selfElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventKeydown);
this._flipWrapperElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.Click, this._eventClick);
OSUI.Helper.Dom.Styles.AddClass(this._flipWrapperElement, FlipContent_1.Enum.CssClass.PatternFlipSelf);
}
else {
this.selfElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventKeydown);
this._flipWrapperElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.Click, this._eventClick);
OSUI.Helper.Dom.Styles.RemoveClass(this._flipWrapperElement, FlipContent_1.Enum.CssClass.PatternFlipSelf);
}
}
_setStartsFlipped() {
if (this.isBuilt === false) {
this._toggleClasses();
}
}
_toggleClasses() {
if (this.configs.IsFlipped) {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, FlipContent_1.Enum.CssClass.PatternIsFlipped);
}
else {
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, FlipContent_1.Enum.CssClass.PatternIsFlipped);
}
}
_triggerPlatformEvent() {
this.triggerPlatformEventCallback(this._platformEventOnToggle, this.configs.IsFlipped);
}
_updateA11yProperties() {
if (this.configs.FlipSelf) {
OSUI.Helper.A11Y.AriaAtomicTrue(this.selfElement);
OSUI.Helper.A11Y.TabIndexTrue(this.selfElement);
}
else {
OSUI.Helper.A11Y.AriaAtomicFalse(this.selfElement);
OSUI.Helper.A11Y.TabIndexFalse(this.selfElement);
}
}
setA11YProperties() {
if (this.configs.FlipSelf) {
OSUI.Helper.A11Y.AriaAtomicTrue(this.selfElement);
OSUI.Helper.A11Y.TabIndexTrue(this.selfElement);
OSUI.Helper.A11Y.RoleButton(this.selfElement);
OSUI.Helper.A11Y.AriaLivePolite(this.selfElement);
OSUI.Helper.Dom.Attribute.Set(this.selfElement, OSUI.Constants.FocusableTabIndexDefault, OSUI.Constants.EmptyString);
}
}
setCallbacks() {
this._eventKeydown = this._keydownCallback.bind(this);
this._eventClick = this.toggleFlipContent.bind(this);
this._setEventHandlers();
}
setHtmlElements() {
this._flipWrapperElement = OSUI.Helper.Dom.ClassSelector(this.selfElement, FlipContent_1.Enum.CssClass.PatternContainer);
}
unsetCallbacks() {
this._removeEvents();
this._eventKeydown = undefined;
this._eventClick = undefined;
}
unsetHtmlElements() {
this._flipWrapperElement = undefined;
}
build() {
super.build();
this.setHtmlElements();
this.setCallbacks();
this._toggleClasses();
this.setA11YProperties();
this.finishBuild();
}
changeProperty(propertyName, propertyValue) {
super.changeProperty(propertyName, propertyValue);
if (this.isBuilt) {
switch (propertyName) {
case FlipContent_1.Enum.Properties.IsFlipped:
this._setStartsFlipped();
break;
case FlipContent_1.Enum.Properties.FlipSelf:
this._updateA11yProperties();
this._setEventHandlers();
break;
}
}
}
dispose() {
this.unsetCallbacks();
this.unsetHtmlElements();
super.dispose();
}
registerCallback(eventName, callback) {
switch (eventName) {
case FlipContent_1.Enum.Events.OnToggle:
if (this._platformEventOnToggle === undefined) {
this._platformEventOnToggle = callback;
}
break;
default:
super.registerCallback(eventName, callback);
}
}
showBackContent() {
if (this.configs.IsFlipped === false) {
this.toggleFlipContent();
}
}
showFrontContent() {
if (this.configs.IsFlipped) {
this.toggleFlipContent();
}
}
toggleFlipContent() {
this.configs.IsFlipped = !this.configs.IsFlipped;
OSUI.Helper.AsyncInvocation(this._toggleClasses.bind(this));
this._triggerPlatformEvent();
}
}
FlipContent_1.FlipContent = FlipContent;
})(FlipContent = Patterns.FlipContent || (Patterns.FlipContent = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var FlipContent;
(function (FlipContent) {
class FlipContentConfig extends Patterns.AbstractConfiguration {
constructor(config) {
super(config);
}
validateCanChange(isBuilt, key) {
if (isBuilt) {
return key !== FlipContent.Enum.Properties.IsFlipped;
}
return true;
}
}
FlipContent.FlipContentConfig = FlipContentConfig;
})(FlipContent = Patterns.FlipContent || (Patterns.FlipContent = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Gallery;
(function (Gallery) {
var Enum;
(function (Enum) {
let CssVariables;
(function (CssVariables) {
CssVariables["PatternItemsDesktop"] = "--gallery-desktop-items";
CssVariables["PatternItemsTablet"] = "--gallery-tablet-items";
CssVariables["PatternItemsPhone"] = "--gallery-phone-items";
CssVariables["PatternItemsGap"] = "--gallery-gap";
CssVariables["PatternListItemsDesktop"] = "--gallery-list-desktop-items";
CssVariables["PatternListItemsTablet"] = "--gallery-list-tablet-items";
CssVariables["PatternListItemsPhone"] = "--gallery-list-phone-items";
})(CssVariables = Enum.CssVariables || (Enum.CssVariables = {}));
let Properties;
(function (Properties) {
Properties["ItemsGap"] = "ItemsGap";
Properties["RowItemsDesktop"] = "RowItemsDesktop";
Properties["RowItemsPhone"] = "RowItemsPhone";
Properties["RowItemsTablet"] = "RowItemsTablet";
Properties[Properties["MinRowItemsAllowed"] = 1] = "MinRowItemsAllowed";
})(Properties = Enum.Properties || (Enum.Properties = {}));
})(Enum = Gallery.Enum || (Gallery.Enum = {}));
})(Gallery = Patterns.Gallery || (Patterns.Gallery = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Gallery;
(function (Gallery_1) {
class Gallery extends Patterns.AbstractPattern {
constructor(uniqueId, configs) {
super(uniqueId, new Gallery_1.GalleryConfig(configs));
}
_setItemsGap() {
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Gallery_1.Enum.CssVariables.PatternItemsGap, `var(--space-${this.configs.ItemsGap})`);
}
_setRowItemsDesktop() {
if (this.configs.RowItemsDesktop < Gallery_1.Enum.Properties.MinRowItemsAllowed) {
this.configs.RowItemsDesktop = Gallery_1.Enum.Properties.MinRowItemsAllowed;
console.warn(`${OSUI.GlobalEnum.PatternName.Gallery} (${this.widgetId}): The value of the ${Gallery_1.Enum.Properties.RowItemsDesktop} property is less than supported (${Gallery_1.Enum.Properties.MinRowItemsAllowed}). To ensure the correct behaviour, set a value greater than ${OSUI.Constants.ZeroValue}.`);
}
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Gallery_1.Enum.CssVariables.PatternItemsDesktop, this.configs.RowItemsDesktop);
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Gallery_1.Enum.CssVariables.PatternListItemsDesktop, this.configs.RowItemsDesktop);
}
_setRowItemsPhone() {
if (this.configs.RowItemsPhone < Gallery_1.Enum.Properties.MinRowItemsAllowed) {
this.configs.RowItemsPhone = Gallery_1.Enum.Properties.MinRowItemsAllowed;
console.warn(`${OSUI.GlobalEnum.PatternName.Gallery} (${this.widgetId}): The value of the ${Gallery_1.Enum.Properties.RowItemsPhone} property is less than supported (${Gallery_1.Enum.Properties.MinRowItemsAllowed}). To ensure the correct behaviour, set a value greater than ${OSUI.Constants.ZeroValue}.`);
}
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Gallery_1.Enum.CssVariables.PatternItemsPhone, this.configs.RowItemsPhone);
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Gallery_1.Enum.CssVariables.PatternListItemsPhone, this.configs.RowItemsPhone);
}
_setRowItemsTablet() {
if (this.configs.RowItemsTablet < Gallery_1.Enum.Properties.MinRowItemsAllowed) {
this.configs.RowItemsTablet = Gallery_1.Enum.Properties.MinRowItemsAllowed;
console.warn(`${OSUI.GlobalEnum.PatternName.Gallery} (${this.widgetId}): The value of the ${Gallery_1.Enum.Properties.RowItemsTablet} property is less than supported (${Gallery_1.Enum.Properties.MinRowItemsAllowed}). To ensure the correct behaviour, set a value greater than ${OSUI.Constants.ZeroValue}.`);
}
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Gallery_1.Enum.CssVariables.PatternItemsTablet, this.configs.RowItemsTablet);
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Gallery_1.Enum.CssVariables.PatternListItemsTablet, this.configs.RowItemsTablet);
}
setA11YProperties() {
console.warn(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
setCallbacks() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
setHtmlElements() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
unsetCallbacks() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
unsetHtmlElements() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
build() {
super.build();
this._setRowItemsDesktop();
this._setRowItemsTablet();
this._setRowItemsPhone();
this._setItemsGap();
this.finishBuild();
}
changeProperty(propertyName, propertyValue) {
super.changeProperty(propertyName, propertyValue);
if (this.isBuilt) {
switch (propertyName) {
case Gallery_1.Enum.Properties.RowItemsDesktop:
this._setRowItemsDesktop();
break;
case Gallery_1.Enum.Properties.RowItemsTablet:
this._setRowItemsTablet();
break;
case Gallery_1.Enum.Properties.RowItemsPhone:
this._setRowItemsPhone();
break;
case Gallery_1.Enum.Properties.ItemsGap:
this._setItemsGap();
break;
}
}
}
}
Gallery_1.Gallery = Gallery;
})(Gallery = Patterns.Gallery || (Patterns.Gallery = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Gallery;
(function (Gallery) {
class GalleryConfig extends Patterns.AbstractConfiguration {
constructor(config) {
super(config);
}
}
Gallery.GalleryConfig = GalleryConfig;
})(Gallery = Patterns.Gallery || (Patterns.Gallery = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var InlineSvg;
(function (InlineSvg) {
var Enum;
(function (Enum) {
let CssClass;
(function (CssClass) {
CssClass["Pattern"] = "osui-inline-svg";
})(CssClass = Enum.CssClass || (Enum.CssClass = {}));
let Properties;
(function (Properties) {
Properties["SVGCode"] = "SVGCode";
})(Properties = Enum.Properties || (Enum.Properties = {}));
})(Enum = InlineSvg.Enum || (InlineSvg.Enum = {}));
})(InlineSvg = Patterns.InlineSvg || (Patterns.InlineSvg = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var InlineSvg;
(function (InlineSvg_1) {
class InlineSvg extends Patterns.AbstractPattern {
constructor(uniqueId, configs) {
super(uniqueId, new InlineSvg_1.InlineSvgConfig(configs));
}
_setSvgCode() {
if (this.configs.SVGCode !== '' && !OSUI.Helper.SVG.IsValid(this.configs.SVGCode)) {
this.selfElement.innerHTML = '';
console.error('Please provide a valid SVGCode.');
}
else {
this.selfElement.innerHTML = this.configs.SVGCode;
}
}
setA11YProperties() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
setCallbacks() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
setHtmlElements() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
unsetCallbacks() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
unsetHtmlElements() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
build() {
super.build();
this._setSvgCode();
this.finishBuild();
}
changeProperty(propertyName, propertyValue) {
super.changeProperty(propertyName, propertyValue);
if (this.isBuilt) {
if (propertyName === InlineSvg_1.Enum.Properties.SVGCode) {
this._setSvgCode();
}
}
}
dispose() {
if (this.isBuilt) {
super.dispose();
}
}
}
InlineSvg_1.InlineSvg = InlineSvg;
})(InlineSvg = Patterns.InlineSvg || (Patterns.InlineSvg = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var InlineSvg;
(function (InlineSvg) {
class InlineSvgConfig extends Patterns.AbstractConfiguration {
constructor(config) {
super(config);
}
validateDefault(key, value) {
let validatedValue = undefined;
switch (key) {
case InlineSvg.Enum.Properties.SVGCode:
validatedValue = super.validateString(value, OSFramework.OSUI.Constants.EmptyString);
break;
default:
validatedValue = super.validateDefault(key, value);
break;
}
return validatedValue;
}
}
InlineSvg.InlineSvgConfig = InlineSvgConfig;
})(InlineSvg = Patterns.InlineSvg || (Patterns.InlineSvg = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var MonthPicker;
(function (MonthPicker) {
class AbstractMonthPicker extends Patterns.AbstractProviderPattern {
constructor(uniqueId, configs) {
super(uniqueId, configs);
}
}
MonthPicker.AbstractMonthPicker = AbstractMonthPicker;
})(MonthPicker = Patterns.MonthPicker || (Patterns.MonthPicker = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var MonthPicker;
(function (MonthPicker) {
class AbstractMonthPickerConfig extends Patterns.AbstractProviderConfiguration {
constructor(config) {
super(config);
}
validateDefault(key, value) {
let validatedValue = undefined;
switch (key) {
case MonthPicker.Enum.Properties.DateFormat:
validatedValue = this.validateString(value, 'MM/YYYY');
break;
case MonthPicker.Enum.Properties.InitialMonth:
case MonthPicker.Enum.Properties.MinMonth:
case MonthPicker.Enum.Properties.MaxMonth:
validatedValue = value;
break;
default:
validatedValue = super.validateDefault(key, value);
break;
}
return validatedValue;
}
}
MonthPicker.AbstractMonthPickerConfig = AbstractMonthPickerConfig;
})(MonthPicker = Patterns.MonthPicker || (Patterns.MonthPicker = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var MonthPicker;
(function (MonthPicker) {
var Enum;
(function (Enum) {
let CssClass;
(function (CssClass) {
CssClass["Dropdown"] = "osui-monthpicker__dropdown";
CssClass["Pattern"] = "osui-monthpicker";
})(CssClass = Enum.CssClass || (Enum.CssClass = {}));
let Events;
(function (Events) {
Events["OnSelected"] = "OnSelected";
})(Events = Enum.Events || (Enum.Events = {}));
let Properties;
(function (Properties) {
Properties["DateFormat"] = "DateFormat";
Properties["InitialMonth"] = "InitialMonth";
Properties["MinMonth"] = "MinMonth";
Properties["MaxMonth"] = "MaxMonth";
})(Properties = Enum.Properties || (Enum.Properties = {}));
let Provider;
(function (Provider) {
Provider["Flatpickr"] = "flatpickr";
})(Provider = Enum.Provider || (Enum.Provider = {}));
})(Enum = MonthPicker.Enum || (MonthPicker.Enum = {}));
})(MonthPicker = Patterns.MonthPicker || (Patterns.MonthPicker = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var MonthPicker;
(function (MonthPicker) {
var Factory;
(function (Factory) {
function NewMonthPicker(monthPickerId, provider, configs) {
let _monthPickerItem = null;
if (provider === MonthPicker.Enum.Provider.Flatpickr) {
_monthPickerItem = new Providers.OSUI.MonthPicker.Flatpickr.OSUIFlatpickrMonth(monthPickerId, JSON.parse(configs));
}
else {
throw new Error(`There is no ${OSUI.GlobalEnum.PatternName.MonthPicker} of the ${provider} provider`);
}
return _monthPickerItem;
}
Factory.NewMonthPicker = NewMonthPicker;
})(Factory = MonthPicker.Factory || (MonthPicker.Factory = {}));
})(MonthPicker = Patterns.MonthPicker || (Patterns.MonthPicker = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Notification;
(function (Notification) {
var Enum;
(function (Enum) {
let CssClass;
(function (CssClass) {
CssClass["Pattern"] = "osui-notification";
CssClass["PatternIsOpen"] = "osui-notification--is-open";
CssClass["PatternPosition"] = "osui-notification--is-";
})(CssClass = Enum.CssClass || (Enum.CssClass = {}));
let CssProperty;
(function (CssProperty) {
CssProperty["Width"] = "--notification-width";
})(CssProperty = Enum.CssProperty || (Enum.CssProperty = {}));
let Defaults;
(function (Defaults) {
Defaults["DefaultPosition"] = "top";
Defaults["DefaultWidth"] = "370px";
})(Defaults = Enum.Defaults || (Enum.Defaults = {}));
let Events;
(function (Events) {
Events["OnToggle"] = "OnToggle";
})(Events = Enum.Events || (Enum.Events = {}));
let Properties;
(function (Properties) {
Properties["CloseAfterTime"] = "CloseAfterTime";
Properties["InteractToClose"] = "InteractToClose";
Properties["NeedsSwipes"] = "NeedsSwipes";
Properties["Position"] = "Position";
Properties["StartsOpen"] = "StartsOpen";
Properties["Width"] = "Width";
})(Properties = Enum.Properties || (Enum.Properties = {}));
})(Enum = Notification.Enum || (Notification.Enum = {}));
})(Notification = Patterns.Notification || (Patterns.Notification = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Notification;
(function (Notification_1) {
class Notification extends Patterns.AbstractPattern {
constructor(uniqueId, configs) {
super(uniqueId, new Notification_1.NotificationConfig(configs));
this.configs.Width = this.configs.Width !== '' ? this.configs.Width : Notification_1.Enum.Defaults.DefaultWidth;
this.configs.Position =
this.configs.Position !== '' ? this.configs.Position : Notification_1.Enum.Defaults.DefaultPosition;
this._isOpen = this.configs.StartsOpen;
}
_autoCloseNotification() {
this._autoCloseTimeoutId = OSUI.Helper.ApplySetTimeOut(() => {
this.hide();
}, this.configs.CloseAfterTime);
}
_clickCallback(e) {
e.preventDefault();
this.hide();
}
_handleFocusBehavior() {
const opts = {
focusTargetElement: this._parentSelf,
};
this._focusTrapInstance = new OSUI.Behaviors.FocusTrap(opts);
this._focusManagerInstance = new OSUI.Behaviors.FocusManager();
}
_handleGestureEvents() {
if (OSUI.Helper.DeviceInfo.IsNative) {
this._gestureEventInstance = new OSUI.Event.GestureEvent.SwipeEvent(this.selfElement);
this.setGestureEvents(this.onSwipeBottom.bind(this), this.onSwipeLeft.bind(this), this.onSwipeRight.bind(this), this.onSwipeUp.bind(this));
}
}
_hideNotification() {
this._isOpen = false;
this._focusTrapInstance.disableForA11y();
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, Notification_1.Enum.CssClass.PatternIsOpen);
this._triggerOnToggleEvent(this._isOpen);
this._updateA11yProperties();
this.selfElement.blur();
this._focusManagerInstance.setFocusToStoredElement();
if (OSUI.Helper.DeviceInfo.IsNative === false && this.configs.InteractToClose) {
this.selfElement.removeEventListener(this._eventType, this._eventOnClick);
this.selfElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventOnKeypress);
}
}
_keypressCallback(e) {
const isEscapedPressed = e.key === OSUI.GlobalEnum.Keycodes.Escape;
if (isEscapedPressed && this._isOpen) {
this.hide();
}
}
_removeEvents() {
this.selfElement.removeEventListener(this._eventType, this._eventOnClick);
this.selfElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventOnKeypress);
}
_showNotification() {
this._focusManagerInstance.storeLastFocusedElement();
this._isOpen = true;
this._focusTrapInstance.enableForA11y();
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, Notification_1.Enum.CssClass.PatternIsOpen);
this._triggerOnToggleEvent(this._isOpen);
this._updateA11yProperties();
if (OSUI.Helper.DeviceInfo.IsNative === false && this.configs.InteractToClose) {
this.selfElement.addEventListener(this._eventType, this._eventOnClick);
}
this.selfElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventOnKeypress);
this.selfElement.focus();
if (this.configs.CloseAfterTime > 0) {
this._autoCloseNotification();
}
}
_triggerOnToggleEvent(isOpen) {
this.triggerPlatformEventCallback(this._platformEventOnToggle, isOpen);
}
_updateA11yProperties() {
OSUI.Helper.Dom.Attribute.Set(this.selfElement, OSUI.Constants.A11YAttributes.Aria.Hidden, (!this._isOpen).toString());
OSUI.Helper.Dom.Attribute.Set(this.selfElement, OSUI.Constants.A11YAttributes.TabIndex, this._isOpen
? OSUI.Constants.A11YAttributes.States.TabIndexShow
: OSUI.Constants.A11YAttributes.States.TabIndexHidden);
OSUI.Helper.A11Y.SetElementsTabIndex(this._isOpen, this._focusTrapInstance.focusableElements);
}
_updateCloseAfterTime(value) {
this.configs.CloseAfterTime = value;
if (this._isOpen) {
this._autoCloseNotification();
}
}
_updateInteractToClose(value) {
if (this.configs.InteractToClose !== value) {
this.configs.InteractToClose = value;
if (OSUI.Helper.DeviceInfo.IsNative === false) {
if (this.configs.InteractToClose) {
this.selfElement.addEventListener(this._eventType, this._eventOnClick);
}
else {
this.selfElement.removeEventListener(this._eventType, this._eventOnClick);
}
}
}
}
_updatePosition(position) {
if (this.configs.Position !== position) {
if (this.configs.Position !== '') {
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, Notification_1.Enum.CssClass.PatternPosition + position);
}
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, Notification_1.Enum.CssClass.PatternPosition + this.configs.Position);
}
}
_updateWidth(width) {
this.configs.Width = width;
if (width !== '') {
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Notification_1.Enum.CssProperty.Width, width);
this.configs.Width = width;
}
}
clearTimeouts() {
if (this.configs.CloseAfterTime > 0) {
clearTimeout(this._autoCloseTimeoutId);
}
}
setA11YProperties() {
OSUI.Helper.Dom.Attribute.Set(this.selfElement, OSUI.Constants.A11YAttributes.Role.AttrName, OSUI.Constants.A11YAttributes.Role.AlertDialog);
this._updateA11yProperties();
}
setCallbacks() {
this._eventOnClick = this._clickCallback.bind(this);
this._eventOnKeypress = this._keypressCallback.bind(this);
}
setHtmlElements() {
this._parentSelf = OSUI.Helper.Dom.GetElementById(this.widgetId);
}
setInitialStates() {
if (OSUI.Helper.DeviceInfo.IsTouch) {
this._eventType = OSUI.GlobalEnum.HTMLEvent.TouchStart;
}
else {
this._eventType = OSUI.GlobalEnum.HTMLEvent.Click;
}
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Notification_1.Enum.CssProperty.Width, this.configs.Width);
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, Notification_1.Enum.CssClass.PatternPosition + this.configs.Position);
if (this._isOpen) {
this._showNotification();
}
if (this.configs.CloseAfterTime > 0 && this._isOpen) {
this._autoCloseNotification();
}
}
unsetCallbacks() {
if (OSUI.Helper.DeviceInfo.IsNative === false && this.configs.InteractToClose) {
this._removeEvents();
this._eventOnClick = undefined;
this._eventOnKeypress = undefined;
}
}
unsetHtmlElements() {
this._parentSelf = undefined;
this._platformEventOnToggle = undefined;
}
build() {
super.build();
OSUI.Helper.AsyncInvocation(this.setInitialStates.bind(this));
this.setCallbacks();
this.setHtmlElements();
this._handleFocusBehavior();
this.setA11YProperties();
this._handleGestureEvents();
this.finishBuild();
}
changeProperty(propertyName, propertyValue) {
const _oldNotificationPosition = this.configs.Position;
super.changeProperty(propertyName, propertyValue);
if (this.isBuilt) {
switch (propertyName) {
case Notification_1.Enum.Properties.InteractToClose:
this._updateInteractToClose(propertyValue);
break;
case Notification_1.Enum.Properties.CloseAfterTime:
this._updateCloseAfterTime(propertyValue);
break;
case Notification_1.Enum.Properties.StartsOpen:
console.warn(`${OSUI.GlobalEnum.PatternName.Notification} (${this.widgetId}): changes to ${Notification_1.Enum.Properties.StartsOpen} parameter do not affect the ${OSUI.GlobalEnum.PatternName.Notification}. Use the client actions 'NotificationShow' and 'NotificationHide' to affect the ${OSUI.GlobalEnum.PatternName.Notification}.`);
break;
case Notification_1.Enum.Properties.Position:
this._updatePosition(_oldNotificationPosition);
break;
case Notification_1.Enum.Properties.Width:
this._updateWidth(propertyValue);
break;
case OSUI.GlobalEnum.CommonPatternsProperties.ExtendedClass:
OSUI.Helper.Dom.Styles.ExtendedClass(this.selfElement, this.configs.ExtendedClass, propertyValue);
break;
}
}
}
dispose() {
if (this.isBuilt) {
this.unsetCallbacks();
this.clearTimeouts();
this.unsetHtmlElements();
this._focusTrapInstance.dispose();
if (this._hasGestureEvents) {
this.removeGestureEvents();
}
super.dispose();
}
}
hide() {
if (this._isOpen) {
this._hideNotification();
this.clearTimeouts();
}
}
onSwipeBottom() {
if (this.configs.Position === OSUI.GlobalEnum.Position.Bottom ||
this.configs.Position === OSUI.GlobalEnum.Position.BottomLeft ||
this.configs.Position === OSUI.GlobalEnum.Position.BottomRight ||
this.configs.Position === OSUI.GlobalEnum.Position.Center) {
this.hide();
}
}
onSwipeLeft() {
if (this.configs.Position === OSUI.GlobalEnum.Position.Left ||
this.configs.Position === OSUI.GlobalEnum.Position.BottomLeft ||
this.configs.Position === OSUI.GlobalEnum.Position.TopLeft) {
this.hide();
}
}
onSwipeRight() {
if (this.configs.Position === OSUI.GlobalEnum.Position.Right ||
this.configs.Position === OSUI.GlobalEnum.Position.BottomRight ||
this.configs.Position === OSUI.GlobalEnum.Position.TopRight) {
this.hide();
}
}
onSwipeUp() {
this.hide();
}
registerCallback(eventName, callback) {
switch (eventName) {
case Patterns.Notification.Enum.Events.OnToggle:
if (this._platformEventOnToggle === undefined) {
this._platformEventOnToggle = callback;
}
break;
default:
super.registerCallback(eventName, callback);
}
}
removeGestureEvents() {
if (this._gestureEventInstance !== undefined) {
this._gestureEventInstance.unsetTouchEvents();
this._hasGestureEvents = false;
this._gestureEventInstance = undefined;
}
}
setGestureEvents(onSwipeDownCallback, onSwipeLeftCallback, onSwipeRightCallback, onSwipeUpCallback) {
this._gestureEventInstance.setSwipeEvents(onSwipeDownCallback, onSwipeLeftCallback, onSwipeRightCallback, onSwipeUpCallback);
this._hasGestureEvents = true;
}
show() {
if (this._isOpen === false) {
this._showNotification();
}
}
get gestureEventInstance() {
return this._gestureEventInstance;
}
get hasGestureEvents() {
return this._hasGestureEvents;
}
}
Notification_1.Notification = Notification;
})(Notification = Patterns.Notification || (Patterns.Notification = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Notification;
(function (Notification) {
class NotificationConfig extends Patterns.AbstractConfiguration {
validateCanChange(isBuilt, key) {
if (isBuilt) {
return key !== Notification.Enum.Properties.StartsOpen;
}
return true;
}
validateDefault(key, value) {
let validatedValue = undefined;
switch (key) {
case Notification.Enum.Properties.InteractToClose:
validatedValue = this.validateBoolean(value, true);
break;
case Notification.Enum.Properties.NeedsSwipes:
case Notification.Enum.Properties.StartsOpen:
validatedValue = this.validateBoolean(value, false);
break;
case Notification.Enum.Properties.Position:
validatedValue = this.validateString(value, Notification.Enum.Defaults.DefaultPosition);
break;
case Notification.Enum.Properties.Width:
validatedValue = this.validateString(value, Notification.Enum.Defaults.DefaultWidth);
break;
case Notification.Enum.Properties.CloseAfterTime:
validatedValue = this.validateNumber(value, undefined);
break;
default:
validatedValue = super.validateDefault(key, value);
break;
}
return validatedValue;
}
}
Notification.NotificationConfig = NotificationConfig;
})(Notification = Patterns.Notification || (Patterns.Notification = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var OverflowMenu;
(function (OverflowMenu) {
var Enum;
(function (Enum) {
let AriaLabel;
(function (AriaLabel) {
AriaLabel["Trigger"] = "Trigger the balloon";
})(AriaLabel = Enum.AriaLabel || (Enum.AriaLabel = {}));
let CssClass;
(function (CssClass) {
CssClass["Open"] = "osui-overflow-menu--is-open";
CssClass["Trigger"] = "osui-overflow-menu__trigger";
CssClass["Balloon"] = "osui-overflow-menu__balloon";
})(CssClass = Enum.CssClass || (Enum.CssClass = {}));
let CssCustomProperties;
(function (CssCustomProperties) {
CssCustomProperties["Shape"] = "--osui-overflow-menu-shape";
})(CssCustomProperties = Enum.CssCustomProperties || (Enum.CssCustomProperties = {}));
let Events;
(function (Events) {
Events["OnMenuToggle"] = "OnToggle";
})(Events = Enum.Events || (Enum.Events = {}));
let Properties;
(function (Properties) {
Properties["Position"] = "Position";
Properties["Shape"] = "Shape";
})(Properties = Enum.Properties || (Enum.Properties = {}));
})(Enum = OverflowMenu.Enum || (OverflowMenu.Enum = {}));
})(OverflowMenu = Patterns.OverflowMenu || (Patterns.OverflowMenu = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var OverflowMenu;
(function (OverflowMenu_1) {
class OverflowMenu extends Patterns.AbstractPattern {
constructor(uniqueId, configs) {
super(uniqueId, new OverflowMenu_1.OverflowMenuConfig(configs));
this._isDisabled = false;
this._isOpenedByApi = false;
this.isOpen = false;
}
_balloonOnToggleCallback(_args, e) {
if (e.detail.balloonElem === this._balloonElem) {
this._togglePattern(e.detail.isOpen);
}
}
_onClickCallback() {
if (this._balloonFeature.isOpen) {
this.close();
}
else {
this._isOpenedByApi = false;
this.open(this._isOpenedByApi);
}
}
_onKeydownCallback(event) {
if (!this._balloonFeature.isOpen &&
(event.key === OSUI.GlobalEnum.Keycodes.ArrowDown || event.key === OSUI.GlobalEnum.Keycodes.ArrowUp)) {
this._isOpenedByApi = false;
this.open(this._isOpenedByApi, event.key);
event.preventDefault();
}
}
_setBalloonFeature() {
this.setBalloonOptions();
this._balloonFeature = new OSFramework.OSUI.Feature.Balloon.Balloon(this, this._balloonElem, this.balloonOptions);
}
_setOverflowMenuShape(shape) {
if (shape !== undefined) {
this.configs.Shape = shape;
}
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, OverflowMenu_1.Enum.CssCustomProperties.Shape, `var(--border-radius-${this.configs.Shape})`);
}
_togglePattern(isOpen) {
if (isOpen) {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, OverflowMenu_1.Enum.CssClass.Open);
}
else {
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, OverflowMenu_1.Enum.CssClass.Open);
}
this.isOpen = isOpen;
this.setA11YProperties();
this._triggerOnToggleEvent();
}
_triggerOnToggleEvent() {
this.triggerPlatformEventCallback(this._platformEventOnToggle, this.isOpen);
}
removeEventListeners() {
this._triggerElem.removeEventListener(OSUI.GlobalEnum.HTMLEvent.Click, this._eventOnClick);
this._triggerElem.removeEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventOnKeydown);
OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.removeHandler(OSUI.Event.DOMEvents.Listeners.Type.BalloonOnToggle, this._eventBalloonOnToggle);
}
setA11YProperties() {
if (this.isBuilt === false) {
OSUI.Helper.A11Y.AriaHasPopup(this._triggerElem, OSUI.Constants.A11YAttributes.Aria.Haspopup.value.Menu);
OSUI.Helper.A11Y.AriaControls(this._triggerElem, this._balloonElem.id);
OSUI.Helper.A11Y.RoleMenu(this._balloonElem);
this.setTriggerAriaLabel(OverflowMenu_1.Enum.AriaLabel.Trigger);
OSUI.Helper.Dom.Attribute.Set(this._triggerElem, OSUI.Constants.FocusTrapIgnoreAttr, true);
OSUI.Helper.Dom.Attribute.Set(this._triggerElem, OSUI.Constants.FocusableTabIndexDefault, OSUI.Constants.EmptyString);
}
OSUI.Helper.A11Y.AriaExpanded(this._triggerElem, this.isOpen.toString());
}
setCallbacks() {
this._eventBalloonOnToggle = this._balloonOnToggleCallback.bind(this);
this._eventOnClick = this._onClickCallback.bind(this);
this._eventOnKeydown = this._onKeydownCallback.bind(this);
}
setEventListeners() {
this._triggerElem.addEventListener(OSUI.GlobalEnum.HTMLEvent.Click, this._eventOnClick);
this._triggerElem.addEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventOnKeydown);
OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.addHandler(OSUI.Event.DOMEvents.Listeners.Type.BalloonOnToggle, this._eventBalloonOnToggle);
}
setHtmlElements() {
this._triggerElem = OSUI.Helper.Dom.ClassSelector(this.selfElement, OverflowMenu_1.Enum.CssClass.Trigger);
this._balloonElem = OSUI.Helper.Dom.ClassSelector(this.selfElement, OverflowMenu_1.Enum.CssClass.Balloon);
}
unsetCallbacks() {
this._eventBalloonOnToggle = undefined;
this._eventOnClick = undefined;
}
unsetHtmlElements() {
this._balloonElem = undefined;
this._triggerElem = undefined;
this._balloonFeature = undefined;
}
build() {
super.build();
this.setHtmlElements();
this.setA11YProperties();
this._setBalloonFeature();
this._setOverflowMenuShape();
this.setCallbacks();
this.setEventListeners();
this.finishBuild();
}
changeProperty(propertyName, propertyValue) {
super.changeProperty(propertyName, propertyValue);
if (this.isBuilt) {
switch (propertyName) {
case OverflowMenu_1.Enum.Properties.Position:
this._balloonFeature.updatePositionOption(propertyValue);
break;
case OverflowMenu_1.Enum.Properties.Shape:
this._setOverflowMenuShape(propertyValue);
this._balloonFeature.setBalloonShape(propertyValue);
break;
}
}
}
close() {
if (this._balloonFeature.isOpen) {
this._balloonFeature.close();
}
}
disable() {
this._isDisabled = true;
this.close();
OSUI.Helper.Dom.Attribute.Set(this._triggerElem, OSUI.GlobalEnum.HTMLAttributes.Disabled, OSFramework.OSUI.Constants.EmptyString);
}
dispose() {
var _a;
(_a = this._balloonFeature) === null || _a === void 0 ? void 0 : _a.dispose();
this.removeEventListeners();
this.unsetCallbacks();
this.unsetHtmlElements();
super.dispose();
}
enable() {
this._isDisabled = false;
OSUI.Helper.Dom.Attribute.Remove(this._triggerElem, OSUI.GlobalEnum.HTMLAttributes.Disabled);
}
open(isOpenedByApi, keyPressed) {
if (this._balloonFeature.isOpen === false && this._isDisabled === false) {
this._isOpenedByApi = isOpenedByApi;
this._balloonFeature.open(this._isOpenedByApi, keyPressed);
}
}
registerCallback(eventName, callback) {
switch (eventName) {
case Patterns.OverflowMenu.Enum.Events.OnMenuToggle:
if (this._platformEventOnToggle === undefined) {
this._platformEventOnToggle = callback;
}
else {
console.warn(`The ${OSUI.GlobalEnum.PatternName.OverflowMenu} already has the toggle callback set.`);
}
break;
default:
super.registerCallback(eventName, callback);
}
}
setBalloonOptions(balloonOptions) {
if (balloonOptions !== undefined) {
this.balloonOptions = balloonOptions;
}
else {
const _focusOptions = {
useFocus: true,
};
this.balloonOptions = {
alignment: OSUI.GlobalEnum.FloatingAlignment.Start,
allowedPlacements: [
OSUI.GlobalEnum.FloatingPosition.BottomStart,
OSUI.GlobalEnum.FloatingPosition.BottomEnd,
OSUI.GlobalEnum.FloatingPosition.TopStart,
OSUI.GlobalEnum.FloatingPosition.TopEnd,
],
anchorElem: this._triggerElem,
position: this.configs.Position,
shape: this.configs.Shape,
focusOptions: _focusOptions,
};
}
}
setTriggerAriaLabel(ariaLabelText) {
if (ariaLabelText !== OSUI.Constants.EmptyString) {
this._ariaLabelTrigger = ariaLabelText;
OSUI.Helper.A11Y.AriaLabel(this._triggerElem, this._ariaLabelTrigger);
}
}
}
OverflowMenu_1.OverflowMenu = OverflowMenu;
})(OverflowMenu = Patterns.OverflowMenu || (Patterns.OverflowMenu = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var OverflowMenu;
(function (OverflowMenu) {
class OverflowMenuConfig extends Patterns.AbstractConfiguration {
constructor(config) {
super(config);
}
validateDefault(key, value) {
let validatedValue = undefined;
switch (key) {
case OverflowMenu.Enum.Properties.Shape:
validatedValue = this.validateInRange(value, OSUI.GlobalEnum.ShapeTypes.SoftRounded, OSUI.GlobalEnum.ShapeTypes.Sharp, OSUI.GlobalEnum.ShapeTypes.Rounded);
break;
case OverflowMenu.Enum.Properties.Position:
validatedValue = this.validateInRange(value, OSUI.GlobalEnum.FloatingPosition.Auto, OSUI.GlobalEnum.FloatingPosition.Bottom, OSUI.GlobalEnum.FloatingPosition.BottomEnd, OSUI.GlobalEnum.FloatingPosition.BottomStart, OSUI.GlobalEnum.FloatingPosition.Center, OSUI.GlobalEnum.FloatingPosition.Left, OSUI.GlobalEnum.FloatingPosition.LeftEnd, OSUI.GlobalEnum.FloatingPosition.LeftStart, OSUI.GlobalEnum.FloatingPosition.Right, OSUI.GlobalEnum.FloatingPosition.RightEnd, OSUI.GlobalEnum.FloatingPosition.RightStart, OSUI.GlobalEnum.FloatingPosition.Top, OSUI.GlobalEnum.FloatingPosition.TopEnd, OSUI.GlobalEnum.FloatingPosition.TopStart);
break;
default:
validatedValue = super.validateDefault(key, value);
break;
}
return validatedValue;
}
}
OverflowMenu.OverflowMenuConfig = OverflowMenuConfig;
})(OverflowMenu = Patterns.OverflowMenu || (Patterns.OverflowMenu = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Progress;
(function (Progress) {
class AbstractProgress extends Patterns.AbstractPattern {
constructor(uniqueId, configs) {
super(uniqueId, configs);
}
_animateEntranceEnd() {
this.progressElem.removeEventListener(OSUI.GlobalEnum.HTMLEvent.TransitionEnd, this._eventAnimateEntranceEnd);
OSUI.Helper.Dom.Styles.RemoveClass(this.progressElem, Progress.ProgressEnum.CssClass.AddInitialAnimation);
OSUI.Helper.Dom.Styles.RemoveClass(this.progressElem, Progress.ProgressEnum.CssClass.AnimateProgressChange);
}
_setAccessibilityProps() {
OSUI.Helper.Dom.Attribute.Set(this.selfElement, OSUI.Constants.A11YAttributes.TabIndex, '0');
OSUI.Helper.Dom.Attribute.Set(this.selfElement, OSUI.Constants.FocusableTabIndexDefault, OSUI.Constants.EmptyString);
OSUI.Helper.Dom.Attribute.Set(this.selfElement, OSUI.Constants.A11YAttributes.Role.AttrName, OSUI.Constants.A11YAttributes.Role.Progressbar);
OSUI.Helper.Dom.Attribute.Set(this.selfElement, OSUI.Constants.A11YAttributes.Aria.ValueMin, Progress.ProgressEnum.Properties.MinProgressValue);
OSUI.Helper.Dom.Attribute.Set(this.selfElement, OSUI.Constants.A11YAttributes.Aria.ValueMax, Progress.ProgressEnum.Properties.MaxProgressValue);
}
animateInitial() {
OSUI.Helper.Dom.Styles.AddClass(this.progressElem, Progress.ProgressEnum.CssClass.AddInitialAnimation);
this.progressElem.addEventListener(OSUI.GlobalEnum.HTMLEvent.TransitionEnd, this._eventAnimateEntranceEnd);
}
animateOnValueChange() {
OSUI.Helper.Dom.Styles.AddClass(this.progressElem, Progress.ProgressEnum.CssClass.AnimateProgressChange);
this.progressElem.addEventListener(OSUI.GlobalEnum.HTMLEvent.TransitionEnd, this._eventAnimateEntranceEnd);
}
setCallbacks() {
this._eventAnimateEntranceEnd = this._animateEntranceEnd.bind(this);
}
unsetCallbacks() {
this._eventAnimateEntranceEnd = undefined;
}
unsetHtmlElements() {
this.progressElem = undefined;
this.contentElem = undefined;
}
updatedProgressValue() {
if (this.configs.Progress < Progress.ProgressEnum.Properties.MinProgressValue) {
this.configs.Progress = Progress.ProgressEnum.Properties.MinProgressValue;
console.warn(`The value of the Progress property on the '${this.widgetId}' ${this.progressType === Progress.ProgressEnum.ProgressTypes.Bar
? OSUI.GlobalEnum.PatternName.ProgressBar
: OSUI.GlobalEnum.PatternName.ProgressCircle} can't be smaller than '${Progress.ProgressEnum.Properties.MinProgressValue}'.`);
}
if (this.configs.Progress > Progress.ProgressEnum.Properties.MaxProgressValue) {
this.configs.Progress = Progress.ProgressEnum.Properties.MaxProgressValue;
console.warn(`The value of the Progress property on the '${this.widgetId}' ${this.progressType === Progress.ProgressEnum.ProgressTypes.Bar
? OSUI.GlobalEnum.PatternName.ProgressBar
: OSUI.GlobalEnum.PatternName.ProgressCircle} is higher than supported (${Progress.ProgressEnum.Properties.MaxProgressValue}).`);
}
OSUI.Helper.Dom.Attribute.Set(this.selfElement, 'aria-valuenow', this.configs.Progress.toString());
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Progress.ProgressEnum.InlineStyleProp.ProgressValue, this.configs.Progress.toString() + OSUI.GlobalEnum.Units.Percentage);
}
build() {
super.build();
this._setAccessibilityProps();
}
progressApplyGradient(gradientType, colors) {
this.gradientLength = Object.keys(colors).length;
if (this.gradientLength < 2) {
throw Error(`Progress${this.progressType}(${this.uniqueId}): CSS ${gradientType} gradient needs at least two colors to work`);
}
}
resetProgressValue() {
this.setElementProgressValue(this.configs.InitialProgress);
}
setProgressValue(value) {
this.setElementProgressValue(value);
}
}
Progress.AbstractProgress = AbstractProgress;
})(Progress = Patterns.Progress || (Patterns.Progress = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Progress;
(function (Progress) {
class ProgressConfiguration extends Patterns.AbstractConfiguration {
constructor(config) {
super(config);
}
}
Progress.ProgressConfiguration = ProgressConfiguration;
})(Progress = Patterns.Progress || (Patterns.Progress = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Progress;
(function (Progress) {
var ProgressEnum;
(function (ProgressEnum) {
let AriaLabel;
(function (AriaLabel) {
AriaLabel["Progress"] = "progress";
})(AriaLabel = ProgressEnum.AriaLabel || (ProgressEnum.AriaLabel = {}));
let CssClass;
(function (CssClass) {
CssClass["AddInitialAnimation"] = "animate-entrance";
CssClass["AnimateProgressChange"] = "animate-progress-change";
CssClass["Container"] = "osui-progress-bar__container";
CssClass["ProgressBarContent"] = "osui-progress-bar__content";
CssClass["ProgressCircleContent"] = "osui-progress-circle__content";
})(CssClass = ProgressEnum.CssClass || (ProgressEnum.CssClass = {}));
let InlineStyleProp;
(function (InlineStyleProp) {
InlineStyleProp["ProgressColor"] = "--progress-color";
InlineStyleProp["ProgressValue"] = "--progress-value";
InlineStyleProp["ProgressGradient"] = "--progress-gradient";
InlineStyleProp["ProgressInitialSpeed"] = "--progress-initial-speed";
InlineStyleProp["ProgressSpeed"] = "--progress-speed";
InlineStyleProp["Shape"] = "--shape";
InlineStyleProp["Thickness"] = "--thickness";
InlineStyleProp["TrailColor"] = "--trail-color";
})(InlineStyleProp = ProgressEnum.InlineStyleProp || (ProgressEnum.InlineStyleProp = {}));
let Gradient;
(function (Gradient) {
Gradient["LinearHorizontal"] = "LinearHorizontal";
Gradient["LinearVertical"] = "LinearVertical";
Gradient["LinearDiagonally"] = "LinearDiagonally";
Gradient["Radial"] = "Radial";
})(Gradient = ProgressEnum.Gradient || (ProgressEnum.Gradient = {}));
let Properties;
(function (Properties) {
Properties["ExtendedClass"] = "ExtendedClass";
Properties[Properties["MaxProgressValue"] = 100] = "MaxProgressValue";
Properties[Properties["MinProgressValue"] = 0] = "MinProgressValue";
Properties["Progress"] = "Progress";
Properties["ProgressColor"] = "ProgressColor";
Properties["ProgressCircleSize"] = "ProgressCircleSize";
Properties["Shape"] = "Shape";
Properties["Thickness"] = "Thickness";
Properties["TrailColor"] = "TrailColor";
})(Properties = ProgressEnum.Properties || (ProgressEnum.Properties = {}));
let ProgressTypes;
(function (ProgressTypes) {
ProgressTypes["Bar"] = "Bar";
ProgressTypes["Circle"] = "Circle";
})(ProgressTypes = ProgressEnum.ProgressTypes || (ProgressEnum.ProgressTypes = {}));
let ShapeTypes;
(function (ShapeTypes) {
ShapeTypes["Round"] = "round";
ShapeTypes["Rounded"] = "rounded";
ShapeTypes["Soft"] = "soft";
ShapeTypes["Sharp"] = "sharp";
})(ShapeTypes = ProgressEnum.ShapeTypes || (ProgressEnum.ShapeTypes = {}));
})(ProgressEnum = Progress.ProgressEnum || (Progress.ProgressEnum = {}));
})(Progress = Patterns.Progress || (Patterns.Progress = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Progress;
(function (Progress) {
var Factory;
(function (Factory) {
function NewProgress(progressId, type, configs) {
let _progressItem = null;
switch (type) {
case Progress.ProgressEnum.ProgressTypes.Circle:
_progressItem = new Patterns.Progress.Circle.Circle(progressId, JSON.parse(configs));
break;
case Progress.ProgressEnum.ProgressTypes.Bar:
_progressItem = new Patterns.Progress.Bar.Bar(progressId, JSON.parse(configs));
break;
default:
throw new Error(`There is any Progress of ${type} type`);
}
return _progressItem;
}
Factory.NewProgress = NewProgress;
})(Factory = Progress.Factory || (Progress.Factory = {}));
})(Progress = Patterns.Progress || (Patterns.Progress = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Progress;
(function (Progress) {
var Bar;
(function (Bar_1) {
class Bar extends Progress.AbstractProgress {
constructor(uniqueId, configs) {
super(uniqueId, new Bar_1.ProgressBarConfig(configs));
this.progressType = Progress.ProgressEnum.ProgressTypes.Bar;
}
_setCssVariables() {
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Progress.ProgressEnum.InlineStyleProp.Thickness, this.configs.Thickness + OSUI.GlobalEnum.Units.Pixel);
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Progress.ProgressEnum.InlineStyleProp.ProgressColor, OSUI.Helper.Dom.Styles.GetColorValueFromColorType(this.configs.ProgressColor));
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Progress.ProgressEnum.InlineStyleProp.Shape, OSUI.Helper.Dom.Styles.GetBorderRadiusValueFromShapeType(this.configs.Shape));
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Progress.ProgressEnum.InlineStyleProp.TrailColor, OSUI.Helper.Dom.Styles.GetColorValueFromColorType(this.configs.TrailColor));
}
_updateProgressColor() {
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Progress.ProgressEnum.InlineStyleProp.ProgressColor, OSUI.Helper.Dom.Styles.GetColorValueFromColorType(this.configs.ProgressColor));
}
_updateShape() {
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Progress.ProgressEnum.InlineStyleProp.Shape, OSUI.Helper.Dom.Styles.GetBorderRadiusValueFromShapeType(this.configs.Shape));
}
_updateThickness() {
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Progress.ProgressEnum.InlineStyleProp.Thickness, this.configs.Thickness + OSUI.GlobalEnum.Units.Pixel);
}
_updateTrailColor() {
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Progress.ProgressEnum.InlineStyleProp.TrailColor, OSUI.Helper.Dom.Styles.GetColorValueFromColorType(this.configs.TrailColor));
}
addInitialAnimation() {
if (this.configs.AnimateInitialProgress) {
this.animateInitial();
}
this.updatedProgressValue();
}
setA11YProperties() {
if (this.contentElem.innerHTML)
OSUI.Helper.A11Y.AriaLabelledBy(this.selfElement, this.contentElem.id);
else
OSUI.Helper.A11Y.AriaLabel(this.selfElement, Progress.ProgressEnum.AriaLabel.Progress);
}
setCallbacks() {
super.setCallbacks();
}
setElementProgressValue(value) {
this.configs.Progress = value;
this.animateOnValueChange();
this.updatedProgressValue();
}
setHtmlElements() {
this.progressElem = this.selfElement.querySelector(OSUI.Constants.Dot + Progress.ProgressEnum.CssClass.Container);
this.contentElem = this.selfElement.querySelector(OSUI.Constants.Dot + Progress.ProgressEnum.CssClass.ProgressBarContent);
}
unsetCallbacks() {
super.unsetCallbacks();
}
unsetHtmlElements() {
super.unsetHtmlElements();
}
build() {
super.build();
this.setHtmlElements();
this.setA11YProperties();
this._setCssVariables();
this.setCallbacks();
if (!this.isBuilt) {
OSUI.Helper.AsyncInvocation(this.addInitialAnimation.bind(this));
}
this.finishBuild();
}
changeProperty(propertyName, propertyValue) {
super.changeProperty(propertyName, propertyValue);
switch (propertyName) {
case Progress.ProgressEnum.Properties.Thickness:
this._updateThickness();
break;
case Progress.ProgressEnum.Properties.Progress:
this.setElementProgressValue(propertyValue);
break;
case Progress.ProgressEnum.Properties.ProgressColor:
this._updateProgressColor();
break;
case Progress.ProgressEnum.Properties.Shape:
this._updateShape();
break;
case Progress.ProgressEnum.Properties.TrailColor:
this._updateTrailColor();
break;
}
}
dispose() {
this.unsetHtmlElements();
this.unsetCallbacks();
super.dispose();
}
progressApplyGradient(gradientType, colors) {
super.progressApplyGradient(gradientType, colors);
let _gradient;
const _colorsString = [];
for (let i = 0; i < this.gradientLength; i++) {
_colorsString.push(`${colors[i].Color} ${colors[i].Percentage !== -1
? colors[i].Percentage + OSUI.GlobalEnum.Units.Percentage
: OSUI.Constants.EmptyString}`);
}
switch (gradientType) {
case Progress.ProgressEnum.Gradient.LinearDiagonally:
_gradient = `linear-gradient(135deg, ${_colorsString})`;
break;
case Progress.ProgressEnum.Gradient.LinearHorizontal:
_gradient = `linear-gradient(90deg, ${_colorsString})`;
break;
case Progress.ProgressEnum.Gradient.LinearVertical:
_gradient = `linear-gradient(180deg, ${_colorsString})`;
break;
case Progress.ProgressEnum.Gradient.Radial:
_gradient = `radial-gradient(${_colorsString})`;
break;
}
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Progress.ProgressEnum.InlineStyleProp.ProgressGradient, _gradient);
}
}
Bar_1.Bar = Bar;
})(Bar = Progress.Bar || (Progress.Bar = {}));
})(Progress = Patterns.Progress || (Patterns.Progress = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Progress;
(function (Progress) {
var Bar;
(function (Bar) {
class ProgressBarConfig extends Progress.ProgressConfiguration {
constructor(config) {
super(config);
}
}
Bar.ProgressBarConfig = ProgressBarConfig;
})(Bar = Progress.Bar || (Progress.Bar = {}));
})(Progress = Patterns.Progress || (Patterns.Progress = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Progress;
(function (Progress) {
var Circle;
(function (Circle) {
var Enum;
(function (Enum) {
let CssClass;
(function (CssClass) {
CssClass["Progress"] = "osui-progress-circle__container__progress-path";
CssClass["SVG"] = "svg-wrapper";
CssClass["Trail"] = "osui-progress-circle__container__trail-path";
})(CssClass = Enum.CssClass || (Enum.CssClass = {}));
let InlineStyleProp;
(function (InlineStyleProp) {
InlineStyleProp["CircleRadius"] = "--radius";
InlineStyleProp["CircleSize"] = "--circle-size";
InlineStyleProp["GradientURL"] = "--progress-circle-gradient-url";
InlineStyleProp["ProgressCircleSize"] = "--progress-circle-size";
InlineStyleProp["StrokeDasharray"] = "--stroke-dasharray";
InlineStyleProp["StrokeDashoffset"] = "--stroke-dashoffset";
})(InlineStyleProp = Enum.InlineStyleProp || (Enum.InlineStyleProp = {}));
let DefaultValues;
(function (DefaultValues) {
DefaultValues["GradientId"] = "progressGradient-";
DefaultValues["RadialFr"] = "15%";
DefaultValues["RadialRadius"] = "95%";
DefaultValues["Size"] = "auto";
})(DefaultValues = Enum.DefaultValues || (Enum.DefaultValues = {}));
let GradientName;
(function (GradientName) {
GradientName["Linear"] = "linearGradient";
GradientName["Radial"] = "radialGradient";
})(GradientName = Enum.GradientName || (Enum.GradientName = {}));
})(Enum = Circle.Enum || (Circle.Enum = {}));
})(Circle = Progress.Circle || (Progress.Circle = {}));
})(Progress = Patterns.Progress || (Patterns.Progress = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Progress;
(function (Progress) {
var Circle;
(function (Circle_1) {
class Circle extends Progress.AbstractProgress {
constructor(uniqueId, configs) {
super(uniqueId, new Circle_1.ProgressCircleConfig(configs));
this._circleSize = 0;
this._needsResizeObserver = true;
this.linearGradientCoords = {
x1: 1,
x2: 1,
y1: 0,
y2: 1,
};
this.radialGradientCoords = {
fr: Circle_1.Enum.DefaultValues.RadialFr,
r: Circle_1.Enum.DefaultValues.RadialRadius,
};
}
_addResizeOberser() {
this._resizeObserver = new ResizeObserver((entries) => {
requestAnimationFrame(() => {
if (!Array.isArray(entries) || !entries.length) {
return;
}
if (this.progressElem) {
if (OSUI.Helper.Dom.Styles.ContainsClass(this.progressElem, Progress.ProgressEnum.CssClass.AddInitialAnimation)) {
this.progressElem.addEventListener(OSUI.GlobalEnum.HTMLEvent.TransitionEnd, this._updateCircleProps.bind(this));
}
else {
this._updateCircleProps();
}
}
});
});
this._resizeObserver.observe(this._blockParent);
}
_checkResizeObserver() {
if (!this._resizeObserver && this._needsResizeObserver) {
this._addResizeOberser();
}
else if (this._resizeObserver && this._needsResizeObserver === false) {
this._removeResizeOberver();
}
}
_progressToOffset() {
if (this.configs.ProgressCircleSize !== OSFramework.OSUI.Constants.EmptyString &&
this.configs.ProgressCircleSize !== Circle_1.Enum.DefaultValues.Size &&
parseInt(this.configs.ProgressCircleSize) !== 0) {
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Circle_1.Enum.InlineStyleProp.ProgressCircleSize, this.configs.ProgressCircleSize);
this._circleSize = this.selfElement.clientWidth;
this._needsResizeObserver = false;
}
else {
if (this._blockParent.clientWidth > this._blockParent.clientHeight) {
this._circleSize = this._blockParent.clientHeight;
}
else {
this._circleSize = this._blockParent.clientWidth;
}
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Circle_1.Enum.InlineStyleProp.ProgressCircleSize, this._circleSize + OSUI.GlobalEnum.Units.Pixel);
this._needsResizeObserver = true;
}
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Circle_1.Enum.InlineStyleProp.CircleSize, this._circleSize + OSUI.GlobalEnum.Units.Pixel);
const _radius = Math.floor(this._circleSize / 2 - this.configs.Thickness / 2);
this._circleCircumference = _radius * 2 * Math.PI;
this._strokeDashoffset = this._strokeDasharray = this._circleCircumference;
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Circle_1.Enum.InlineStyleProp.CircleRadius, _radius + OSUI.GlobalEnum.Units.Pixel);
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Circle_1.Enum.InlineStyleProp.StrokeDasharray, this._strokeDasharray);
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Circle_1.Enum.InlineStyleProp.StrokeDashoffset, this._strokeDashoffset);
if (!this.isBuilt) {
OSUI.Helper.AsyncInvocation(this.addInitialAnimation.bind(this));
}
else {
this._checkResizeObserver();
}
}
_removeResizeOberver() {
this._resizeObserver.disconnect();
this._resizeObserver = undefined;
}
_setCssVariables() {
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Progress.ProgressEnum.InlineStyleProp.Thickness, this.configs.Thickness + OSUI.GlobalEnum.Units.Pixel);
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Progress.ProgressEnum.InlineStyleProp.ProgressColor, OSUI.Helper.Dom.Styles.GetColorValueFromColorType(this.configs.ProgressColor));
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Progress.ProgressEnum.InlineStyleProp.Shape, this.configs.Shape === OSUI.GlobalEnum.ShapeTypes.Sharp
? Progress.ProgressEnum.ShapeTypes.Sharp
: Progress.ProgressEnum.ShapeTypes.Round);
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Progress.ProgressEnum.InlineStyleProp.TrailColor, OSUI.Helper.Dom.Styles.GetColorValueFromColorType(this.configs.TrailColor));
}
_setGradientCoords(gradientType) {
if (gradientType === Circle_1.Enum.GradientName.Radial) {
return `fr="${this.radialGradientCoords.fr}" r="${this.radialGradientCoords.r}"`;
}
else {
return `x1="${this.linearGradientCoords.x1}" y1="${this.linearGradientCoords.y1}" x2="${this.linearGradientCoords.x2}" y2="${this.linearGradientCoords.y2}"`;
}
}
_updateCircleProps() {
this._progressToOffset();
this._updateProgressValue();
}
_updateProgressValue() {
this.updatedProgressValue();
this._strokeDashoffset =
this._circleCircumference - (this.configs.Progress / 100) * this._circleCircumference;
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Circle_1.Enum.InlineStyleProp.StrokeDashoffset, this._strokeDashoffset);
}
addInitialAnimation() {
if (this.configs.AnimateInitialProgress) {
this.animateInitial();
this._checkResizeObserver();
this._updateProgressValue();
}
else {
this._addResizeOberser();
}
}
setA11YProperties() {
if (this.contentElem.innerHTML)
OSUI.Helper.A11Y.AriaLabelledBy(this.selfElement, this.contentElem.id);
else
OSUI.Helper.A11Y.AriaLabel(this.selfElement, Progress.ProgressEnum.AriaLabel.Progress);
}
setCallbacks() {
super.setCallbacks();
}
setElementProgressValue(value) {
this.configs.Progress = value;
this.animateOnValueChange();
this._checkResizeObserver();
this._updateProgressValue();
}
setHtmlElements() {
this._blockParent = document.getElementById(this.widgetId).parentElement;
this.progressElem = this.selfElement.querySelector(OSUI.Constants.Dot + Circle_1.Enum.CssClass.Progress);
this.contentElem = this.selfElement.querySelector(OSUI.Constants.Dot + Progress.ProgressEnum.CssClass.ProgressCircleContent);
if (this.isBuilt) {
this._gradientElem = this.progressElem.parentElement.querySelector('defs');
}
}
unsetCallbacks() {
super.unsetCallbacks();
}
unsetHtmlElements() {
this._blockParent = undefined;
this._gradientElem = undefined;
super.unsetHtmlElements();
}
updateProgressColor() {
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Progress.ProgressEnum.InlineStyleProp.ProgressColor, OSUI.Helper.Dom.Styles.GetColorValueFromColorType(this.configs.ProgressColor));
}
updateShape() {
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Progress.ProgressEnum.InlineStyleProp.Shape, this.configs.Shape === OSUI.GlobalEnum.ShapeTypes.Sharp
? Progress.ProgressEnum.ShapeTypes.Sharp
: Progress.ProgressEnum.ShapeTypes.Round);
}
updateThickness() {
this._updateCircleProps();
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Progress.ProgressEnum.InlineStyleProp.Thickness, this.configs.Thickness + OSUI.GlobalEnum.Units.Pixel);
}
updateTrailColor() {
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Progress.ProgressEnum.InlineStyleProp.TrailColor, OSUI.Helper.Dom.Styles.GetColorValueFromColorType(this.configs.TrailColor));
}
build() {
super.build();
this.setHtmlElements();
this.setA11YProperties();
this._setCssVariables();
this._progressToOffset();
this.setCallbacks();
this.finishBuild();
}
changeProperty(propertyName, propertyValue) {
var _a, _b;
super.changeProperty(propertyName, propertyValue);
switch (propertyName) {
case Progress.ProgressEnum.Properties.Thickness:
this.updateThickness();
break;
case Progress.ProgressEnum.Properties.Progress:
this.setProgressValue(propertyValue);
break;
case Progress.ProgressEnum.Properties.ProgressColor:
this.updateProgressColor();
break;
case Progress.ProgressEnum.Properties.ProgressCircleSize:
(_a = this._resizeObserver) === null || _a === void 0 ? void 0 : _a.unobserve(this._blockParent);
this._updateCircleProps();
(_b = this._resizeObserver) === null || _b === void 0 ? void 0 : _b.observe(this._blockParent);
break;
case Progress.ProgressEnum.Properties.Shape:
this.updateShape();
break;
case Progress.ProgressEnum.Properties.TrailColor:
this.updateTrailColor();
break;
}
}
createSVGGradient(gradientId, gradientName, gradientCoords, gradientLenght, colors) {
var _a;
(_a = this._gradientElem) === null || _a === void 0 ? void 0 : _a.remove();
let _gradient = OSUI.Constants.EmptyString;
for (let i = 0; i < gradientLenght; i++) {
_gradient += `<stop offset="${colors[i].Percentage !== -1 ? colors[i].Percentage : Math.floor((i * 100) / gradientLenght)}%" stop-color="${colors[i].Color}"/>`;
}
const gradientSVG = `
<defs>
<${gradientName} id="${gradientId}" ${gradientCoords}">
${_gradient}
</${gradientName}>
</defs>`;
this.progressElem.parentElement.innerHTML += gradientSVG;
this.setHtmlElements();
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Circle_1.Enum.InlineStyleProp.GradientURL, 'url(#' + gradientId + ')');
}
dispose() {
super.dispose();
this.unsetHtmlElements();
this.unsetCallbacks();
if (this._resizeObserver) {
this._removeResizeOberver();
}
}
progressApplyGradient(gradientType, colors) {
super.progressApplyGradient(gradientType, colors);
let _gradientName = Circle_1.Enum.GradientName.Linear;
const _gradientId = Circle_1.Enum.DefaultValues.GradientId + this.uniqueId;
switch (gradientType) {
case Progress.ProgressEnum.Gradient.LinearHorizontal:
this.linearGradientCoords.x1 = 1;
this.linearGradientCoords.x2 = 1;
this.linearGradientCoords.y1 = 0;
this.linearGradientCoords.y2 = 1;
break;
case Progress.ProgressEnum.Gradient.LinearDiagonally:
this.linearGradientCoords.x1 = 1;
this.linearGradientCoords.x2 = 0;
this.linearGradientCoords.y1 = 0;
this.linearGradientCoords.y2 = 1;
break;
case Progress.ProgressEnum.Gradient.LinearVertical:
this.linearGradientCoords.x1 = 1;
this.linearGradientCoords.x2 = 0;
this.linearGradientCoords.y1 = 1;
this.linearGradientCoords.y2 = 1;
break;
case Progress.ProgressEnum.Gradient.Radial:
_gradientName = Circle_1.Enum.GradientName.Radial;
break;
}
const _gradientCoords = this._setGradientCoords(_gradientName);
this.createSVGGradient(_gradientId, _gradientName, _gradientCoords, this.gradientLength, colors);
}
}
Circle_1.Circle = Circle;
})(Circle = Progress.Circle || (Progress.Circle = {}));
})(Progress = Patterns.Progress || (Patterns.Progress = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Progress;
(function (Progress) {
var Circle;
(function (Circle) {
class ProgressCircleConfig extends Progress.ProgressConfiguration {
constructor(config) {
super(config);
}
}
Circle.ProgressCircleConfig = ProgressCircleConfig;
})(Circle = Progress.Circle || (Progress.Circle = {}));
})(Progress = Patterns.Progress || (Patterns.Progress = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var RangeSlider;
(function (RangeSlider) {
class AbstractRangeSlider extends Patterns.AbstractProviderPattern {
constructor(uniqueId, configs) {
super(uniqueId, configs);
}
}
RangeSlider.AbstractRangeSlider = AbstractRangeSlider;
})(RangeSlider = Patterns.RangeSlider || (Patterns.RangeSlider = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var RangeSlider;
(function (RangeSlider) {
class AbstractRangeSliderConfig extends Patterns.AbstractProviderConfiguration {
constructor(config) {
super(config);
}
validateDefault(key, value) {
let validatedValue = undefined;
switch (key) {
case RangeSlider.Enum.Properties.InitialValueFrom:
case RangeSlider.Enum.Properties.InitialValueTo:
validatedValue = this.validateNumber(value, 0);
break;
case RangeSlider.Enum.Properties.Orientation:
validatedValue = this.validateInRange(value, OSUI.GlobalEnum.Orientation.Horizontal, OSUI.GlobalEnum.Orientation.Vertical);
break;
case RangeSlider.Enum.Properties.IsDisabled:
case RangeSlider.Enum.Properties.ShowFloatingLabel:
case RangeSlider.Enum.Properties.ShowTickMarks:
validatedValue = this.validateBoolean(value, false);
break;
case RangeSlider.Enum.Properties.Size:
validatedValue = this.validateString(value, this.Orientation === OSUI.GlobalEnum.Orientation.Horizontal
? RangeSlider.Enum.DefaultValues.PercentualSize
: RangeSlider.Enum.DefaultValues.PixelSize);
break;
case RangeSlider.Enum.Properties.Step:
validatedValue = this.validateNumber(value, 1);
break;
case RangeSlider.Enum.Properties.TickMarksInterval:
validatedValue = this.validateNumber(value, 0);
break;
default:
validatedValue = super.validateDefault(key, value);
break;
}
return validatedValue;
}
}
RangeSlider.AbstractRangeSliderConfig = AbstractRangeSliderConfig;
})(RangeSlider = Patterns.RangeSlider || (Patterns.RangeSlider = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var RangeSlider;
(function (RangeSlider) {
var Enum;
(function (Enum) {
let CssClass;
(function (CssClass) {
CssClass["ClassModifier"] = "osui-range-slider--is-";
CssClass["IsInterval"] = "osui-range-slider--is-interval";
CssClass["HasTicks"] = "osui-range-slider--has-ticks";
CssClass["RangeSlider"] = "osui-range-slider";
CssClass["RangeSliderProviderElem"] = "osui-range-slider__provider";
})(CssClass = Enum.CssClass || (Enum.CssClass = {}));
let CssProperties;
(function (CssProperties) {
CssProperties["Size"] = "--range-slider-size";
})(CssProperties = Enum.CssProperties || (Enum.CssProperties = {}));
let DefaultValues;
(function (DefaultValues) {
DefaultValues["PercentualSize"] = "100%";
DefaultValues["PixelSize"] = "100px";
})(DefaultValues = Enum.DefaultValues || (Enum.DefaultValues = {}));
let Mode;
(function (Mode) {
Mode["Single"] = "single";
Mode["Interval"] = "interval";
})(Mode = Enum.Mode || (Enum.Mode = {}));
let Properties;
(function (Properties) {
Properties["InitialValueTo"] = "InitialValueTo";
Properties["InitialValueFrom"] = "InitialValueFrom";
Properties["IsDisabled"] = "IsDisabled";
Properties["MaxValue"] = "MaxValue";
Properties["MinValue"] = "MinValue";
Properties["Orientation"] = "Orientation";
Properties["ShowTickMarks"] = "ShowTickMarks";
Properties["ShowFloatingLabel"] = "ShowFloatingLabel";
Properties["Size"] = "Size";
Properties["StartingValueTo"] = "StartingValueTo";
Properties["StartingValueFrom"] = "StartingValueFrom";
Properties["Step"] = "Step";
Properties["TickMarksInterval"] = "TickMarksInterval";
})(Properties = Enum.Properties || (Enum.Properties = {}));
let Provider;
(function (Provider) {
Provider["NoUiSlider"] = "noUiSlider";
})(Provider = Enum.Provider || (Enum.Provider = {}));
let RangeSliderEvents;
(function (RangeSliderEvents) {
RangeSliderEvents["OnInitialize"] = "OnInitialize";
RangeSliderEvents["OnValueChange"] = "OnValueChange";
})(RangeSliderEvents = Enum.RangeSliderEvents || (Enum.RangeSliderEvents = {}));
let RangeSliderTypes;
(function (RangeSliderTypes) {
RangeSliderTypes["Slider"] = "slider";
RangeSliderTypes["Interval"] = "interval";
})(RangeSliderTypes = Enum.RangeSliderTypes || (Enum.RangeSliderTypes = {}));
})(Enum = RangeSlider.Enum || (RangeSlider.Enum = {}));
})(RangeSlider = Patterns.RangeSlider || (Patterns.RangeSlider = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var RangeSlider;
(function (RangeSlider) {
var Factory;
(function (Factory) {
function NewRangeSlider(rangeSliderId, configs, mode, provider) {
let _rangeSliderItem = null;
switch (provider) {
case RangeSlider.Enum.Provider.NoUiSlider:
_rangeSliderItem = Providers.OSUI.RangeSlider.NoUiSlider.Factory.NewNoUiSlider(rangeSliderId, configs, mode);
break;
default:
throw new Error(`There is no ${OSUI.GlobalEnum.PatternName.RangeSlider} of the ${provider} provider`);
}
return _rangeSliderItem;
}
Factory.NewRangeSlider = NewRangeSlider;
})(Factory = RangeSlider.Factory || (RangeSlider.Factory = {}));
})(RangeSlider = Patterns.RangeSlider || (Patterns.RangeSlider = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Rating;
(function (Rating) {
var Enum;
(function (Enum) {
let CssClass;
(function (CssClass) {
CssClass["IconStates"] = "icon-states";
CssClass["IsEdit"] = "is-edit";
CssClass["IsHalf"] = "is-half";
CssClass["RatingInput"] = "rating-input";
CssClass["RatingItem"] = "rating-item";
CssClass["Size"] = "rating-";
CssClass["WCAGHideText"] = "wcag-hide-text";
})(CssClass = Enum.CssClass || (Enum.CssClass = {}));
let Events;
(function (Events) {
Events["OnSelected"] = "OnSelected";
})(Events = Enum.Events || (Enum.Events = {}));
let Properties;
(function (Properties) {
Properties["IsEdit"] = "IsEdit";
Properties[Properties["MaxRatingScale"] = 100] = "MaxRatingScale";
Properties[Properties["MinRatingScale"] = 0] = "MinRatingScale";
Properties["RatingScale"] = "RatingScale";
Properties["RatingValue"] = "RatingValue";
Properties["Size"] = "Size";
})(Properties = Enum.Properties || (Enum.Properties = {}));
})(Enum = Rating.Enum || (Rating.Enum = {}));
})(Rating = Patterns.Rating || (Patterns.Rating = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Rating;
(function (Rating_1) {
class Rating extends Patterns.AbstractPattern {
constructor(uniqueId, configs) {
super(uniqueId, new Rating_1.RatingConfig(configs));
}
_createItems() {
if (this.configs.RatingScale > Rating_1.Enum.Properties.MaxRatingScale) {
this.configs.RatingScale = Rating_1.Enum.Properties.MaxRatingScale;
console.warn(`The value of the RatingScale property on the '${this.widgetId}' Rating is higher than supported (${Rating_1.Enum.Properties.MaxRatingScale}).`);
}
for (let i = 0; i <= this.configs.RatingScale; i++) {
this._renderItem(i);
}
}
_getDecimalValue(value) {
return Math.round((value - Math.floor(value)) * 100) / 100;
}
_getIsHalfValue(value) {
const decimalValue = this._getDecimalValue(value);
return !!(decimalValue >= 0.3 && decimalValue <= 0.7);
}
_getValue() {
const inputChecked = OSUI.Helper.Dom.TagSelector(this.selfElement, 'input:checked');
return parseInt(inputChecked.value);
}
_handlePlaceholders() {
this._clonedPlaceholders = Array.from(this._ratingIconStatesElem.children);
this._ratingIconStatesElem.remove();
}
_ratingInputOnKeyup(e) {
if (e.key === OSUI.GlobalEnum.Keycodes.ArrowUp ||
e.key === OSUI.GlobalEnum.Keycodes.ArrowRight ||
e.key === OSUI.GlobalEnum.Keycodes.ArrowDown ||
e.key === OSUI.GlobalEnum.Keycodes.ArrowLeft) {
e.preventDefault();
}
}
_ratingOnClick(e) {
const currentTarget = e.target;
this._isHalfValue = false;
const isInput = OSUI.Helper.Dom.Styles.ContainsClass(currentTarget, Rating_1.Enum.CssClass.RatingInput);
if (isInput) {
const _lastChosen = this.selfElement.querySelectorAll(OSUI.GlobalEnum.HTMLElement.Input)[this.configs.RatingValue];
if (_lastChosen) {
_lastChosen.ariaChecked = OSUI.Constants.A11YAttributes.States.False;
OSUI.Helper.Dom.Attribute.Remove(_lastChosen, OSUI.Constants.FocusableTabIndexDefault);
}
this.configs.RatingValue = this._getValue();
this._setValue(true);
}
}
_renderItem(index) {
const labelHTML = index !== 0 ? this._updateClonePlaceholdersAttrs(index) : '';
const ratingInputId = this.uniqueId + '-rating-' + index;
const input = `<input type="${OSUI.GlobalEnum.HTMLElement.Radio}" class="${Rating_1.Enum.CssClass.RatingInput} ${Rating_1.Enum.CssClass.WCAGHideText}" id=${ratingInputId} name=${this._ratingInputName} value=${index}>`;
let label = '';
if (!this.configs.IsEdit) {
label = `<label class='${Rating_1.Enum.CssClass.RatingItem}' for=${ratingInputId}><span class="${Rating_1.Enum.CssClass.WCAGHideText}">Rating ${index}</span>${labelHTML}</label>`;
}
else {
label = `<label class='${Rating_1.Enum.CssClass.RatingItem}' for=${ratingInputId}><span class="${Rating_1.Enum.CssClass.WCAGHideText}">Rating ${index}</span>${labelHTML}</label>`;
}
this._ratingFieldsetElem.innerHTML += input + label;
}
_setEvents() {
if (this.configs.IsEdit) {
this.selfElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.Click, this._eventOnRatingClick);
}
this._toggleRatingInputsEvents(!this.configs.IsEdit);
}
_setFieldsetDisabledStatus(isDisabled) {
const isFieldsetDisabled = OSUI.Helper.Dom.Attribute.Get(this._ratingFieldsetElem, OSUI.GlobalEnum.HTMLAttributes.Disabled);
if (isDisabled) {
OSUI.Helper.Dom.Attribute.Set(this._ratingFieldsetElem, OSUI.GlobalEnum.HTMLAttributes.Disabled, OSUI.Constants.A11YAttributes.States.True);
}
else if (!isDisabled && isFieldsetDisabled) {
OSUI.Helper.Dom.Attribute.Remove(this._ratingFieldsetElem, OSUI.GlobalEnum.HTMLAttributes.Disabled);
}
}
_setInitialCssClasses() {
if (this._isHalfValue) {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, Rating_1.Enum.CssClass.IsHalf);
}
if (this.configs.IsEdit) {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, Rating_1.Enum.CssClass.IsEdit);
}
if (this.configs.Size !== '') {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, Rating_1.Enum.CssClass.Size + this.configs.Size);
}
}
_setInitialPropertiesValues() {
this._ratingInputName = 'rating-' + this.uniqueId;
}
_setIsDisabled(isDisabled) {
this._disabled = isDisabled;
this._setFieldsetDisabledStatus(isDisabled);
if (isDisabled) {
this._unsetEvents();
}
else {
this._setEvents();
}
}
_setIsEdit() {
if (this.configs.IsEdit) {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, Rating_1.Enum.CssClass.IsEdit);
}
else {
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, Rating_1.Enum.CssClass.IsEdit);
}
if (this.configs.IsEdit) {
this._setEvents();
}
else {
this._unsetEvents();
}
}
_setScale() {
this._ratingFieldsetElem.innerHTML = '';
this._createItems();
this._setValue();
}
_setSize(oldSize) {
if (oldSize !== '') {
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, Rating_1.Enum.CssClass.Size + oldSize);
}
if (this.configs.Size !== '') {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, Rating_1.Enum.CssClass.Size + this.configs.Size);
}
}
_setValue(triggerEvent = false) {
this._decimalValue = this._getDecimalValue(this.configs.RatingValue);
this._isHalfValue = this._getIsHalfValue(this.configs.RatingValue);
const ratingItems = this.selfElement.querySelectorAll(OSUI.GlobalEnum.HTMLElement.Input);
if (OSUI.Helper.Dom.Styles.ContainsClass(this.selfElement, Rating_1.Enum.CssClass.IsHalf)) {
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, Rating_1.Enum.CssClass.IsHalf);
}
if (this.configs.RatingScale === 1) {
ratingItems[1].checked = true;
ratingItems[1].ariaChecked = OSUI.Constants.A11YAttributes.States.True;
OSUI.Helper.Dom.Attribute.Set(ratingItems[1], OSUI.Constants.FocusableTabIndexDefault, OSUI.Constants.EmptyString);
return;
}
let newValue = this._isHalfValue || this._decimalValue > 0.7
? Math.floor(this.configs.RatingValue) + 1
: Math.floor(this.configs.RatingValue);
if (newValue < Rating_1.Enum.Properties.MinRatingScale) {
newValue = Rating_1.Enum.Properties.MinRatingScale;
console.warn(`The value of RatingValue property on the '${this.widgetId}' ${OSUI.GlobalEnum.PatternName.Rating} can't be smaller than '${Rating_1.Enum.Properties.MinRatingScale}'.`);
}
else if (newValue > this.configs.RatingScale) {
newValue = this.configs.RatingScale;
console.warn(`The value of the RatingValue property on the '${this.widgetId}' ${OSUI.GlobalEnum.PatternName.Rating} exceeds the scale boundaries. To ensure its correct behaviour, set a value smaller or equal to '${this.configs.RatingScale}'.`);
}
ratingItems[newValue].checked = true;
ratingItems[newValue].ariaChecked = OSUI.Constants.A11YAttributes.States.True;
OSUI.Helper.Dom.Attribute.Set(ratingItems[newValue], OSUI.Constants.FocusableTabIndexDefault, OSUI.Constants.EmptyString);
if (this._isHalfValue) {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, Rating_1.Enum.CssClass.IsHalf);
}
this.configs.RatingValue = this._isHalfValue ? this.configs.RatingValue : newValue;
if (triggerEvent) {
this._triggerOnSelectEvent(this.configs.RatingValue);
}
}
_toggleRatingInputsEvents(add) {
const inputsList = this.selfElement.querySelectorAll(OSUI.Constants.Dot + Rating_1.Enum.CssClass.RatingInput);
for (const input of inputsList) {
if (add) {
input.addEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventOnRatingInputKeyup);
}
else {
input.removeEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventOnRatingInputKeyup);
}
}
}
_triggerOnSelectEvent(value) {
if (this._platformEventOnSelect !== undefined) {
this.triggerPlatformEventCallback(this._platformEventOnSelect, value);
}
}
_unsetEvents() {
if ((this.selfElement && this.configs.IsEdit === false) || this._disabled) {
this.selfElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.Click, this._eventOnRatingClick);
}
this._toggleRatingInputsEvents(!this.configs.IsEdit && !this._disabled);
}
_updateClonePlaceholdersAttrs(ratingIndex) {
let placeholdersOuterHTML = '';
for (const placeholder of this._clonedPlaceholders) {
const clonedPlaceholder = placeholder.cloneNode(true);
clonedPlaceholder.id = `${clonedPlaceholder.id}-rating-${ratingIndex}`;
placeholdersOuterHTML += clonedPlaceholder.outerHTML;
}
return placeholdersOuterHTML;
}
setA11YProperties() {
console.warn(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
setCallbacks() {
this._eventOnRatingClick = this._ratingOnClick.bind(this);
this._eventOnRatingInputKeyup = this._ratingInputOnKeyup.bind(this);
}
setHtmlElements() {
this._ratingIconStatesElem = OSUI.Helper.Dom.ClassSelector(this.selfElement, Rating_1.Enum.CssClass.IconStates);
this._ratingFieldsetElem = OSUI.Helper.Dom.TagSelector(this.selfElement, OSUI.GlobalEnum.HTMLElement.FieldSet);
}
unsetCallbacks() {
this._eventOnRatingClick = undefined;
this._eventOnRatingInputKeyup = undefined;
}
unsetHtmlElements() {
this._ratingFieldsetElem.innerHTML = '';
this._ratingIconStatesElem = undefined;
this._ratingFieldsetElem = undefined;
}
build() {
super.build();
this._setInitialPropertiesValues();
this.setCallbacks();
this.setHtmlElements();
this._setInitialCssClasses();
this._handlePlaceholders();
this._createItems();
this._setEvents();
this._setValue();
this.finishBuild();
}
changeProperty(propertyName, propertyValue) {
const oldSize = this.configs.Size;
super.changeProperty(propertyName, propertyValue);
if (this.isBuilt) {
switch (propertyName) {
case Rating_1.Enum.Properties.RatingValue:
this._setValue();
break;
case Rating_1.Enum.Properties.RatingScale:
this._setScale();
break;
case Rating_1.Enum.Properties.IsEdit:
this._setIsEdit();
break;
case Rating_1.Enum.Properties.Size:
this._setSize(oldSize);
break;
}
}
}
disable() {
this._setIsDisabled(true);
}
dispose() {
this._unsetEvents();
this.unsetCallbacks();
this.unsetHtmlElements();
super.dispose();
}
enable() {
this._setIsDisabled(false);
}
registerCallback(eventName, callback) {
switch (eventName) {
case Rating_1.Enum.Events.OnSelected:
if (this._platformEventOnSelect === undefined) {
this._platformEventOnSelect = callback;
}
break;
default:
super.registerCallback(eventName, callback);
}
}
}
Rating_1.Rating = Rating;
})(Rating = Patterns.Rating || (Patterns.Rating = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Rating;
(function (Rating) {
class RatingConfig extends Patterns.AbstractConfiguration {
constructor(config) {
super(config);
}
}
Rating.RatingConfig = RatingConfig;
})(Rating = Patterns.Rating || (Patterns.Rating = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Search;
(function (Search_1) {
class Search extends Patterns.AbstractPattern {
constructor(uniqueId, configs) {
super(uniqueId, new Search_1.SearchConfig(configs));
}
setA11YProperties() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
setCallbacks() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
setHtmlElements() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
unsetCallbacks() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
unsetHtmlElements() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
build() {
super.build();
this.finishBuild();
}
dispose() {
if (this.isBuilt) {
super.dispose();
}
}
}
Search_1.Search = Search;
})(Search = Patterns.Search || (Patterns.Search = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Search;
(function (Search) {
class SearchConfig extends Patterns.AbstractConfiguration {
constructor(config) {
super(config);
}
}
Search.SearchConfig = SearchConfig;
})(Search = Patterns.Search || (Patterns.Search = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var SectionIndex;
(function (SectionIndex) {
var Enum;
(function (Enum) {
let ChildNotifyActionType;
(function (ChildNotifyActionType) {
ChildNotifyActionType["Active"] = "active";
ChildNotifyActionType["Add"] = "add";
ChildNotifyActionType["Click"] = "click";
ChildNotifyActionType["KeyPressed"] = "keyPressed";
ChildNotifyActionType["Inactive"] = "unactive";
ChildNotifyActionType["Removed"] = "removed";
})(ChildNotifyActionType = Enum.ChildNotifyActionType || (Enum.ChildNotifyActionType = {}));
let CssClass;
(function (CssClass) {
CssClass["IsActiveItem"] = "osui-section-index-item--is-active";
CssClass["IsSticky"] = "osui-section-index--is-sticky";
CssClass["Pattern"] = "osui-section-index";
})(CssClass = Enum.CssClass || (Enum.CssClass = {}));
let CssVariable;
(function (CssVariable) {
CssVariable["TopPosition"] = "--top-position";
})(CssVariable = Enum.CssVariable || (Enum.CssVariable = {}));
let Properties;
(function (Properties) {
Properties["IsFixed"] = "IsFixed";
Properties["SmoothScrolling"] = "SmoothScrolling";
})(Properties = Enum.Properties || (Enum.Properties = {}));
})(Enum = SectionIndex.Enum || (SectionIndex.Enum = {}));
})(SectionIndex = Patterns.SectionIndex || (Patterns.SectionIndex = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var SectionIndex;
(function (SectionIndex_1) {
class SectionIndex extends Patterns.AbstractParent {
constructor(uniqueId, configs) {
super(uniqueId, new SectionIndex_1.SectionIndexConfig(configs));
this._headerIsFixed = true;
this._navigateOnClick = false;
this.scrollOptions = {
behavior: this.configs.SmoothScrolling ? OSUI.GlobalEnum.ScrollBehavior.Smooth : OSUI.GlobalEnum.ScrollBehavior.Auto,
inline: OSUI.GlobalEnum.ScrollPositionBehavior.Start,
block: OSUI.GlobalEnum.ScrollPositionBehavior.Start,
};
}
_addSectionIndexItem(childItem) {
if (this.getChild(childItem.uniqueId)) {
throw new Error(`${OSUI.ErrorCodes.SectionIndex.FailSetNewChildItem}: There is already a ${OSUI.GlobalEnum.PatternName.SectionIndexItem} under Id: '${childItem.widgetId}' added to ${OSUI.GlobalEnum.PatternName.SectionIndex} with uniqueId: ${this.uniqueId}.`);
}
else {
this.setChild(childItem);
}
}
_childItemHasBeenClicked(childId) {
const childReference = this.getChild(childId);
if (childReference) {
this._setActiveChildOnClick(childReference);
}
else {
throw new Error(`${OSUI.ErrorCodes.SectionIndex.FailChildItemClicked}: The ${OSUI.GlobalEnum.PatternName.SectionIndexItem} under uniqueId: '${childId}' does not exist as an SectionIndexItem from ${OSUI.GlobalEnum.PatternName.SectionIndex} with Id: ${this.widgetId}.`);
}
}
_getContentPaddingTop() {
const _mainContent = OSUI.Helper.Dom.ClassSelector(document, OSUI.GlobalEnum.CssClassElements.MainContent);
this._contentPaddingTop = _mainContent
? parseFloat(window.getComputedStyle(_mainContent).getPropertyValue(OSUI.GlobalEnum.CssProperties.PaddingTop))
: 0;
}
_getHeaderSize() {
const header = OSUI.Helper.Dom.ClassSelector(document.body, OSUI.GlobalEnum.CssClassElements.Header);
this._headerIsFixed = !!OSUI.Helper.Dom.ClassSelector(document.body, OSUI.GlobalEnum.CssClassElements.HeaderIsFixed);
if (header) {
this._headerHeight = this._headerIsFixed ? header.offsetHeight : 0;
}
}
_removeSectionIndexItem(childId) {
if (this.getChild(childId)) {
this.unsetChild(childId);
}
else {
throw new Error(`${OSUI.ErrorCodes.SectionIndex.FailUnsetNewChildItem}: The ${OSUI.GlobalEnum.PatternName.SectionIndexItem} under uniqueId: '${childId}' does not exist as an SectionIndexItem from ${OSUI.GlobalEnum.PatternName.SectionIndex} with Id: ${this.widgetId}.`);
}
}
_setActiveChildOnClick(child) {
if (child === this._activeSectionIndexItem) {
return;
}
this._navigateOnClick = true;
window.clearTimeout(this._scrollTimeout);
this._scrollTimeout = window.setTimeout(() => {
this._navigateOnClick = false;
}, 1000);
this._updateActiveItem(child);
OSUI.Behaviors.Scroll(child.TargetElement, this.scrollOptions);
}
_setActiveChildOnScroll(child) {
if (this._navigateOnClick || this.configs.IsFixed === false) {
return;
}
this._updateActiveItem(child);
}
_toggleIsFixed() {
if (this.configs.IsFixed) {
let headerHeight = 0;
const hasFixedHeader = OSUI.Helper.Dom.ClassSelector(document.body, OSUI.GlobalEnum.CssClassElements.HeaderIsFixed);
if (hasFixedHeader) {
headerHeight =
OSUI.Helper.Dom.ClassSelector(document, OSUI.GlobalEnum.CssClassElements.Header).offsetHeight || 0;
}
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, SectionIndex_1.Enum.CssVariable.TopPosition, 'calc(' + headerHeight + 'px + ' + this._contentPaddingTop + 'px)');
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, SectionIndex_1.Enum.CssClass.IsSticky);
}
else {
OSUI.Helper.Dom.Styles.RemoveStyleAttribute(this.selfElement, SectionIndex_1.Enum.CssVariable.TopPosition);
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, SectionIndex_1.Enum.CssClass.IsSticky);
}
}
_updateActiveItem(child) {
if (this._activeSectionIndexItem) {
this._activeSectionIndexItem.unsetIsActive();
}
child.setIsActive();
this._activeSectionIndexItem = child;
}
setA11YProperties() {
console.warn(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
setCallbacks() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
setHtmlElements() {
if (OSUI.Helper.Dom.Attribute.Has(document.body, OSUI.GlobalEnum.HTMLAttributes.StatusBar) &&
OSUI.Helper.DeviceInfo.GetOperatingSystem() === OSUI.GlobalEnum.MobileOS.IOS) {
this._mainScrollContainerElement = OSUI.Helper.Dom.ClassSelector(document, OSUI.GlobalEnum.CssClassElements.Content);
}
else {
this._mainScrollContainerElement = OSUI.Helper.Dom.ClassSelector(document, OSUI.GlobalEnum.CssClassElements.ActiveScreen);
}
}
unsetCallbacks() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
unsetHtmlElements() {
this._mainScrollContainerElement = undefined;
}
beNotifiedByChild(childItem, notifiedTo) {
switch (notifiedTo) {
case SectionIndex_1.Enum.ChildNotifyActionType.Add:
this._addSectionIndexItem(childItem);
break;
case SectionIndex_1.Enum.ChildNotifyActionType.Click:
this._childItemHasBeenClicked(childItem.uniqueId);
break;
case SectionIndex_1.Enum.ChildNotifyActionType.Removed:
this._removeSectionIndexItem(childItem.uniqueId);
break;
case SectionIndex_1.Enum.ChildNotifyActionType.Active:
this._setActiveChildOnScroll(this.getChild(childItem.uniqueId));
break;
default:
throw new Error(`${OSUI.ErrorCodes.SectionIndex.FailToSetChildItemAction}: There no exist a '${notifiedTo}' notification type.`);
}
}
build() {
super.build();
this.setHtmlElements();
this._getContentPaddingTop();
this._getHeaderSize();
this._toggleIsFixed();
this.finishBuild();
}
changeProperty(propertyName, propertyValue) {
super.changeProperty(propertyName, propertyValue);
if (this.isBuilt) {
switch (propertyName) {
case SectionIndex_1.Enum.Properties.IsFixed:
this._toggleIsFixed();
break;
case SectionIndex_1.Enum.Properties.SmoothScrolling:
this.scrollOptions.behavior = propertyValue
? OSUI.GlobalEnum.ScrollBehavior.Smooth
: OSUI.GlobalEnum.ScrollBehavior.Auto;
}
}
}
dispose() {
this.unsetHtmlElements();
super.dispose();
}
}
SectionIndex_1.SectionIndex = SectionIndex;
})(SectionIndex = Patterns.SectionIndex || (Patterns.SectionIndex = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var SectionIndex;
(function (SectionIndex) {
class SectionIndexConfig extends Patterns.AbstractConfiguration {
validateDefault(key, value) {
let validatedValue = undefined;
switch (key) {
case SectionIndex.Enum.Properties.IsFixed:
case SectionIndex.Enum.Properties.SmoothScrolling:
validatedValue = this.validateBoolean(value, false);
break;
default:
validatedValue = super.validateDefault(key, value);
break;
}
return validatedValue;
}
}
SectionIndex.SectionIndexConfig = SectionIndexConfig;
})(SectionIndex = Patterns.SectionIndex || (Patterns.SectionIndex = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var SectionIndexItem;
(function (SectionIndexItem) {
var Enum;
(function (Enum) {
let CssClass;
(function (CssClass) {
CssClass["ItemTarget"] = "osui-section-index-item__target";
})(CssClass = Enum.CssClass || (Enum.CssClass = {}));
let CssVariable;
(function (CssVariable) {
CssVariable["ScrollMargin"] = "--target-scroll-margin";
})(CssVariable = Enum.CssVariable || (Enum.CssVariable = {}));
let Properties;
(function (Properties) {
Properties["ScrollToWidgetId"] = "ScrollToWidgetId";
})(Properties = Enum.Properties || (Enum.Properties = {}));
let DataTypes;
(function (DataTypes) {
DataTypes["dataItem"] = "data-item";
})(DataTypes = Enum.DataTypes || (Enum.DataTypes = {}));
})(Enum = SectionIndexItem.Enum || (SectionIndexItem.Enum = {}));
})(SectionIndexItem = Patterns.SectionIndexItem || (Patterns.SectionIndexItem = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var SectionIndexItem;
(function (SectionIndexItem_1) {
class SectionIndexItem extends Patterns.AbstractChild {
constructor(uniqueId, configs) {
super(uniqueId, new SectionIndexItem_1.SectionIndexItemConfig(configs));
this._isActive = false;
this._targetElement = undefined;
}
_onKeyboardPressed(event) {
if (event.key === OSUI.GlobalEnum.Keycodes.Enter || event.key === OSUI.GlobalEnum.Keycodes.Space) {
event.preventDefault();
event.stopPropagation();
this._onSelected(event);
}
}
_onScreenScroll() {
this._setTargetElement();
const scrollYPosition = OSUI.Behaviors.ScrollVerticalPosition(this._mainScrollContainerElement);
const thresholdVal = 40;
const elementOffsetTopVal = this._targetElement.offsetTop - scrollYPosition.value;
if ((this.isFirstChild && scrollYPosition.percentageInView === 0) ||
(elementOffsetTopVal >= -thresholdVal && elementOffsetTopVal <= thresholdVal) ||
(this.isLastChild && scrollYPosition.percentageInView === 100)) {
this.notifyParent(Patterns.SectionIndex.Enum.ChildNotifyActionType.Active);
}
}
_onSelected(event) {
event.preventDefault();
event.stopPropagation();
this._setTargetElement();
this.notifyParent(Patterns.SectionIndex.Enum.ChildNotifyActionType.Click);
}
_removeEvents() {
this.selfElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.Click, this._eventOnClick);
this.selfElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventOnkeyBoardPress);
OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.removeHandler(OSUI.Event.DOMEvents.Listeners.Type.ScreenOnScroll, this._eventOnScreenScroll);
}
_setLinkAttribute() {
OSUI.Helper.Dom.Attribute.Set(this.selfElement, SectionIndexItem_1.Enum.DataTypes.dataItem, this.configs.ScrollToWidgetId);
}
_setTargetAttributes() {
OSUI.Helper.Dom.Styles.AddClass(this._targetElement, SectionIndexItem_1.Enum.CssClass.ItemTarget);
this.setTargetScrollMargin(OSUI.Helper.Dom.Styles.GetCustomProperty(this.parentObject.selfElement, Patterns.SectionIndex.Enum.CssVariable.TopPosition));
}
_setTargetElement() {
if (this._targetElement === undefined) {
try {
this._targetElement = document.getElementById(this.configs.ScrollToWidgetId);
this._setTargetAttributes();
}
catch (e) {
throw new Error(`${OSUI.ErrorCodes.SectionIndexItem.FailToSetTargetElement}: Target Element with the Id '${this.configs.ScrollToWidgetId}' does not exist!`);
}
}
}
_setUpEvents() {
this.selfElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.Click, this._eventOnClick);
this.selfElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventOnkeyBoardPress);
OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.addHandler(OSUI.Event.DOMEvents.Listeners.Type.ScreenOnScroll, this._eventOnScreenScroll);
}
_unsetTargetAttributes() {
OSUI.Helper.Dom.Styles.RemoveClass(this._targetElement, SectionIndexItem_1.Enum.CssClass.ItemTarget);
OSUI.Helper.Dom.Styles.RemoveStyleAttribute(this._targetElement, SectionIndexItem_1.Enum.CssVariable.ScrollMargin);
}
setA11YProperties() {
OSUI.Helper.A11Y.RoleButton(this.selfElement);
OSUI.Helper.A11Y.TabIndexTrue(this.selfElement);
}
setCallbacks() {
this._eventOnClick = this._onSelected.bind(this);
this._eventOnkeyBoardPress = this._onKeyboardPressed.bind(this);
this._eventOnScreenScroll = this._onScreenScroll.bind(this);
}
setHtmlElements() {
if (OSUI.Helper.Dom.Attribute.Has(document.body, OSUI.GlobalEnum.HTMLAttributes.StatusBar) &&
OSUI.Helper.DeviceInfo.GetOperatingSystem() === OSUI.GlobalEnum.MobileOS.IOS) {
this._mainScrollContainerElement = OSUI.Helper.Dom.ClassSelector(document, OSUI.GlobalEnum.CssClassElements.Content);
}
else {
this._mainScrollContainerElement = OSUI.Helper.Dom.ClassSelector(document, OSUI.GlobalEnum.CssClassElements.ActiveScreen);
}
}
unsetCallbacks() {
this._removeEvents();
this._eventOnClick = undefined;
this._eventOnkeyBoardPress = undefined;
this._eventOnScreenScroll = undefined;
}
unsetHtmlElements() {
this._mainScrollContainerElement = undefined;
this._targetElement = undefined;
}
build() {
super.build();
this.setParentInfo(OSUI.Constants.Dot + Patterns.SectionIndex.Enum.CssClass.Pattern, OutSystems.OSUI.Patterns.SectionIndexAPI.GetSectionIndexById);
this.notifyParent(Patterns.SectionIndex.Enum.ChildNotifyActionType.Add);
this.setCallbacks();
this.setHtmlElements();
this._setUpEvents();
this.setA11YProperties();
this._setLinkAttribute();
this.finishBuild();
}
changeProperty(propertyName, propertyValue) {
super.changeProperty(propertyName, propertyValue);
if (this.isBuilt) {
switch (propertyName) {
case SectionIndexItem_1.Enum.Properties.ScrollToWidgetId:
console.warn(`${OSUI.GlobalEnum.PatternName.SectionIndex} (${this.widgetId}): change to ${SectionIndexItem_1.Enum.Properties.ScrollToWidgetId} on property ${SectionIndexItem_1.Enum.Properties.ScrollToWidgetId} is not editable at OnParametersChange.`);
break;
}
}
}
dispose() {
this.unsetCallbacks();
this._unsetTargetAttributes();
this.notifyParent(Patterns.SectionIndex.Enum.ChildNotifyActionType.Removed);
super.dispose();
}
setIsActive() {
if (this._isActive === false) {
this._isActive = true;
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, Patterns.SectionIndex.Enum.CssClass.IsActiveItem);
}
}
setTargetScrollMargin(margin) {
OSUI.Helper.Dom.Styles.SetStyleAttribute(this._targetElement, SectionIndexItem_1.Enum.CssVariable.ScrollMargin, margin);
}
unsetIsActive() {
if (this._isActive) {
this._isActive = false;
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, Patterns.SectionIndex.Enum.CssClass.IsActiveItem);
}
}
get IsSelected() {
return this._isActive;
}
get TargetElement() {
return this._targetElement;
}
}
SectionIndexItem_1.SectionIndexItem = SectionIndexItem;
})(SectionIndexItem = Patterns.SectionIndexItem || (Patterns.SectionIndexItem = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var SectionIndexItem;
(function (SectionIndexItem) {
class SectionIndexItemConfig extends Patterns.AbstractConfiguration {
validateCanChange(isBuilt, key) {
if (isBuilt) {
return key !== SectionIndexItem.Enum.Properties.ScrollToWidgetId;
}
return true;
}
}
SectionIndexItem.SectionIndexItemConfig = SectionIndexItemConfig;
})(SectionIndexItem = Patterns.SectionIndexItem || (Patterns.SectionIndexItem = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Sidebar;
(function (Sidebar) {
var Enum;
(function (Enum) {
let Properties;
(function (Properties) {
Properties["StartsOpen"] = "StartsOpen";
Properties["Direction"] = "Direction";
Properties["Width"] = "Width";
Properties["HasOverlay"] = "HasOverlay";
})(Properties = Enum.Properties || (Enum.Properties = {}));
let Defaults;
(function (Defaults) {
Defaults["Width"] = "500px";
})(Defaults = Enum.Defaults || (Enum.Defaults = {}));
let CssClass;
(function (CssClass) {
CssClass["Aside"] = "osui-sidebar";
CssClass["Content"] = "osui-sidebar__content";
CssClass["ClassModifier"] = "osui-sidebar--is-";
CssClass["HasOverlay"] = "osui-sidebar--has-overlay";
CssClass["Header"] = "osui-sidebar__header";
CssClass["IsOpen"] = "osui-sidebar--is-open";
CssClass["Overlay"] = "osui-sidebar__overlay";
})(CssClass = Enum.CssClass || (Enum.CssClass = {}));
let CssProperty;
(function (CssProperty) {
CssProperty["Width"] = "--sidebar-width";
})(CssProperty = Enum.CssProperty || (Enum.CssProperty = {}));
let Events;
(function (Events) {
Events["OnToggle"] = "OnToggle";
})(Events = Enum.Events || (Enum.Events = {}));
})(Enum = Sidebar.Enum || (Sidebar.Enum = {}));
})(Sidebar = Patterns.Sidebar || (Patterns.Sidebar = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Sidebar;
(function (Sidebar_1) {
class Sidebar extends Patterns.AbstractPattern {
constructor(uniqueId, configs) {
super(uniqueId, new Sidebar_1.SidebarConfig(configs));
this._isOpen = this.configs.StartsOpen;
this._currentDirectionCssClass = Sidebar_1.Enum.CssClass.ClassModifier + this.configs.Direction;
}
_closeSidebar() {
this._isOpen = false;
this._focusTrapInstance.disableForA11y();
if (this.isBuilt) {
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, Sidebar_1.Enum.CssClass.IsOpen);
OSUI.Helper.A11Y.TabIndexFalse(this.selfElement);
OSUI.Helper.A11Y.AriaHiddenTrue(this.selfElement);
this._triggerOnToggleEvent();
this.selfElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventSidebarKeypress);
OSUI.Helper.A11Y.SetElementsTabIndex(this._isOpen, this._focusTrapInstance.focusableElements);
if (this._clickOutsideToClose || (this.configs.HasOverlay && this._clickOutsideToClose === undefined)) {
OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.removeHandler(OSUI.Event.DOMEvents.Listeners.Type.BodyOnMouseDown, this._eventOverlayMouseDown);
OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.removeHandler(OSUI.Event.DOMEvents.Listeners.Type.BodyOnClick, this._eventOverlayClick);
}
}
this._focusManagerInstance.setFocusToStoredElement();
}
_handleFocusBehavior() {
const opts = {
focusTargetElement: this._parentSelf,
canContainOtherPatterns: true,
};
this._focusTrapInstance = new OSUI.Behaviors.FocusTrap(opts);
this._focusManagerInstance = new OSUI.Behaviors.FocusManager();
if (this._isOpen === false) {
OSUI.Helper.A11Y.SetElementsTabIndex(false, this._focusTrapInstance.focusableElements);
}
}
_handleGestureEvents() {
if (OSUI.Helper.DeviceInfo.IsNative) {
this._gestureEventInstance = new OSUI.Event.GestureEvent.DragEvent(this.selfElement);
this.setGestureEvents(this._onGestureStart.bind(this), this._onGestureMove.bind(this), this._onGestureEnd.bind(this));
this._animateOnDragInstance = new OSUI.Behaviors.AnimateOnDrag(this.selfElement);
}
}
_onGestureEnd(offsetX, offsetY, timeTaken) {
this._animateOnDragInstance.onDragEnd(offsetX, offsetY, timeTaken, this._toggle.bind(this));
if (this.configs.HasOverlay) {
OSUI.Behaviors.OverlayTransitionOnDrag.UnSet(this.selfElement);
}
}
_onGestureMove(x, y, offsetX, offsetY, evt) {
this._animateOnDragInstance.onDragMove(offsetX, offsetY, x, y, evt);
if (this.configs.HasOverlay) {
OSUI.Behaviors.OverlayTransitionOnDrag.Set(this.selfElement, x, this.configs.Direction, this.configs.Width);
}
}
_onGestureStart(x, y) {
this._animateOnDragInstance.onDragStart(false, this.configs.Direction, x, y, this._isOpen, this.configs.Width);
}
_openSidebar() {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, Sidebar_1.Enum.CssClass.IsOpen);
OSUI.Helper.A11Y.TabIndexTrue(this.selfElement);
OSUI.Helper.A11Y.AriaHiddenFalse(this.selfElement);
this._focusTrapInstance.enableForA11y();
this._focusManagerInstance.storeLastFocusedElement();
if (this.isBuilt) {
this._isOpen = true;
this._triggerOnToggleEvent();
}
if (this._clickOutsideToClose || (this.configs.HasOverlay && this._clickOutsideToClose === undefined)) {
OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.addHandler(OSUI.Event.DOMEvents.Listeners.Type.BodyOnMouseDown, this._eventOverlayMouseDown);
OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.addHandler(OSUI.Event.DOMEvents.Listeners.Type.BodyOnClick, this._eventOverlayClick);
}
this.selfElement.focus();
this.selfElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventSidebarKeypress);
OSUI.Helper.A11Y.SetElementsTabIndex(this._isOpen, this._focusTrapInstance.focusableElements);
}
_overlayClickCallback(_args, e) {
if (this._isOpen &&
this._clickedOutsideElement &&
(e.target === this.selfElement || this._clickOutsideToClose)) {
this.close();
}
e.stopPropagation();
}
_overlayMouseDownCallback(_args, e) {
const targetElem = e.target;
this._clickedOutsideElement = true;
if (targetElem.closest(`${OSUI.Constants.Dot}${Sidebar_1.Enum.CssClass.Header}`) ||
targetElem.closest(`${OSUI.Constants.Dot}${Sidebar_1.Enum.CssClass.Content}`)) {
this._clickedOutsideElement = false;
}
}
_removeEvents() {
this.selfElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventSidebarKeypress);
OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.removeHandler(OSUI.Event.DOMEvents.Listeners.Type.BodyOnMouseDown, this._eventOverlayMouseDown);
OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.removeHandler(OSUI.Event.DOMEvents.Listeners.Type.BodyOnClick, this._eventOverlayClick);
}
_setDirection() {
if (this._currentDirectionCssClass !== '') {
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, this._currentDirectionCssClass);
}
this._currentDirectionCssClass = Sidebar_1.Enum.CssClass.ClassModifier + this.configs.Direction;
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, this._currentDirectionCssClass);
}
_setHasOverlay() {
const alreadyHasOverlayClass = OSUI.Helper.Dom.Styles.ContainsClass(this.selfElement, Sidebar_1.Enum.CssClass.HasOverlay);
if (this.configs.HasOverlay && alreadyHasOverlayClass === false) {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, Sidebar_1.Enum.CssClass.HasOverlay);
}
else if (this.isBuilt) {
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, Sidebar_1.Enum.CssClass.HasOverlay);
}
}
_setInitialCssClasses() {
this._setDirection();
this._setWidth();
this._setHasOverlay();
if (this._isOpen) {
this._openSidebar();
}
}
_setWidth() {
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Sidebar_1.Enum.CssProperty.Width, this.configs.Width);
}
_sidebarKeypressCallback(e) {
const isEscapedPressed = e.key === OSUI.GlobalEnum.Keycodes.Escape;
if (isEscapedPressed) {
this.close();
}
e.stopPropagation();
}
_toggle() {
if (this._isOpen) {
this.close();
}
else {
this.open();
}
}
_toggleGesturesSidebar(enableSwipes) {
if (enableSwipes && this._hasGestureEvents === false) {
if (this._gestureEventInstance === undefined) {
this._handleGestureEvents();
}
}
else if (enableSwipes === false && this._hasGestureEvents) {
this.removeGestureEvents();
}
}
_triggerOnToggleEvent() {
this.triggerPlatformEventCallback(this._platformEventOnToggle, this._isOpen);
}
setA11YProperties() {
OSUI.Helper.A11Y.RoleComplementary(this.selfElement);
OSUI.Helper.A11Y.AriaHasPopupTrue(this.selfElement);
OSUI.Helper.Dom.Attribute.Set(this.selfElement, OSUI.Constants.FocusableTabIndexDefault, OSUI.Constants.EmptyString);
if (this._isOpen) {
OSUI.Helper.A11Y.TabIndexTrue(this.selfElement);
OSUI.Helper.A11Y.AriaHiddenFalse(this.selfElement);
}
else {
OSUI.Helper.A11Y.TabIndexFalse(this.selfElement);
OSUI.Helper.A11Y.AriaHiddenTrue(this.selfElement);
}
}
setCallbacks() {
this._eventSidebarKeypress = this._sidebarKeypressCallback.bind(this);
this._eventOverlayClick = this._overlayClickCallback.bind(this);
this._eventOverlayMouseDown = this._overlayMouseDownCallback.bind(this);
}
setHtmlElements() {
this._parentSelf = OSUI.Helper.Dom.GetElementById(this.widgetId);
this._setWidth();
}
unsetCallbacks() {
this._removeEvents();
this._eventSidebarKeypress = undefined;
this._eventOverlayClick = undefined;
this._eventOverlayMouseDown = undefined;
}
unsetHtmlElements() {
this._parentSelf = undefined;
this._platformEventOnToggle = undefined;
}
build() {
super.build();
this.setCallbacks();
this.setHtmlElements();
this._handleFocusBehavior();
this._setInitialCssClasses();
this.setA11YProperties();
this._handleGestureEvents();
this.finishBuild();
}
changeProperty(propertyName, propertyValue) {
super.changeProperty(propertyName, propertyValue);
if (this.isBuilt) {
switch (propertyName) {
case Sidebar_1.Enum.Properties.StartsOpen:
console.warn(`Sidebar (${this.widgetId}): changes to ${Sidebar_1.Enum.Properties.StartsOpen} parameter do not affect the sidebar. Use the client actions 'SidebarOpen' and 'SidebarClose' to affect the Sidebar.`);
break;
case Sidebar_1.Enum.Properties.Direction:
this._setDirection();
break;
case Sidebar_1.Enum.Properties.Width:
this._setWidth();
break;
case Sidebar_1.Enum.Properties.HasOverlay:
this._setHasOverlay();
break;
}
}
}
clickOutsideToClose(closeOnOutSideClick) {
this._clickOutsideToClose = closeOnOutSideClick;
}
close() {
if (this._isOpen) {
this._closeSidebar();
}
}
dispose() {
this.unsetCallbacks();
this.unsetHtmlElements();
this._focusTrapInstance.dispose();
if (this._hasGestureEvents) {
this.removeGestureEvents();
}
super.dispose();
}
open() {
if (this._isOpen === false) {
this._openSidebar();
}
}
registerCallback(eventName, callback) {
switch (eventName) {
case Patterns.Sidebar.Enum.Events.OnToggle:
if (this._platformEventOnToggle === undefined) {
this._platformEventOnToggle = callback;
}
else {
console.warn(`The ${OSUI.GlobalEnum.PatternName.Sidebar} already has the toggle callback set.`);
}
break;
default:
super.registerCallback(eventName, callback);
}
}
removeGestureEvents() {
if (this._gestureEventInstance !== undefined) {
this._gestureEventInstance.unsetTouchEvents();
this._hasGestureEvents = false;
this._gestureEventInstance = undefined;
}
}
setGestureEvents(onGestureStartCallback, onGestureMoveCallback, onGestureEndCallback) {
this._gestureEventInstance.setSwipeEvents(onGestureStartCallback, onGestureMoveCallback, onGestureEndCallback);
this._hasGestureEvents = true;
}
toggleGestures(enableSwipe) {
this._toggleGesturesSidebar(enableSwipe);
}
get gestureEventInstance() {
return this._gestureEventInstance;
}
get hasGestureEvents() {
return this._hasGestureEvents;
}
}
Sidebar_1.Sidebar = Sidebar;
})(Sidebar = Patterns.Sidebar || (Patterns.Sidebar = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Sidebar;
(function (Sidebar) {
class SidebarConfig extends Patterns.AbstractConfiguration {
constructor(config) {
super(config);
}
validateCanChange(isBuilt, key) {
if (isBuilt) {
return key !== Sidebar.Enum.Properties.StartsOpen;
}
return true;
}
validateDefault(key, value) {
let validatedValue = undefined;
switch (key) {
case Sidebar.Enum.Properties.Direction:
validatedValue = this.validateInRange(value, OSUI.GlobalEnum.Direction.Right, OSUI.GlobalEnum.Direction.Right, OSUI.GlobalEnum.Direction.Left);
break;
case Sidebar.Enum.Properties.HasOverlay:
case Sidebar.Enum.Properties.StartsOpen:
validatedValue = this.validateBoolean(value, false);
break;
case Sidebar.Enum.Properties.Width:
validatedValue = this.validateString(value, Sidebar.Enum.Defaults.Width);
break;
default:
validatedValue = super.validateDefault(key, value);
break;
}
return validatedValue;
}
}
Sidebar.SidebarConfig = SidebarConfig;
})(Sidebar = Patterns.Sidebar || (Patterns.Sidebar = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Submenu;
(function (Submenu) {
var Enum;
(function (Enum) {
let CssClass;
(function (CssClass) {
CssClass["Pattern"] = "osui-submenu";
CssClass["PatternActive"] = "active";
CssClass["PatternHeader"] = "osui-submenu__header";
CssClass["PatternIsDropdown"] = "osui-submenu--is-dropdown";
CssClass["PatternIsHidden"] = "osui-submenu--is-hidden";
CssClass["PatternIsHover"] = "osui-submenu--is-hover";
CssClass["PatternIsOpen"] = "osui-submenu--is-open";
CssClass["PatternIcon"] = "osui-submenu__header__icon";
CssClass["PatternItem"] = "osui-submenu__header__item";
CssClass["PatternLinks"] = "osui-submenu__items";
})(CssClass = Enum.CssClass || (Enum.CssClass = {}));
let Events;
(function (Events) {
Events["OnToggle"] = "OnToggle";
})(Events = Enum.Events || (Enum.Events = {}));
let Properties;
(function (Properties) {
Properties["OpenOnHover"] = "OpenOnHover";
})(Properties = Enum.Properties || (Enum.Properties = {}));
})(Enum = Submenu.Enum || (Submenu.Enum = {}));
})(Submenu = Patterns.Submenu || (Patterns.Submenu = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Submenu;
(function (Submenu_1) {
class Submenu extends Patterns.AbstractPattern {
constructor(uniqueId, configs) {
super(uniqueId, new Submenu_1.SubmenuConfig(configs));
this._hasActiveLinks = false;
this._hasElements = false;
this._isActive = false;
this._isOpen = false;
this.hasClickOutsideToClose = true;
}
_bodyClickCallback(_args, e) {
if (this.isBuilt && this._isOpen) {
if (!this.selfElement.contains(e.target)) {
this.close();
}
e.preventDefault();
e.stopPropagation();
}
}
_checkForActiveLinks() {
this._submenuActiveLinksElement =
OSUI.Helper.Dom.ClassSelector(this._submenuLinksElement, Submenu_1.Enum.CssClass.PatternActive) ||
OSUI.Helper.Dom.ClassSelector(this._submenuHeaderElement, Submenu_1.Enum.CssClass.PatternActive);
this._hasActiveLinks = !!this._submenuActiveLinksElement;
}
_clickCallback() {
this._toggleSubmenu();
}
_handleFocusBehavior() {
const opts = {
focusTargetElement: this._submenuLinksElement,
};
this._focusTrapInstance = new OSUI.Behaviors.FocusTrap(opts);
this._focusManagerInstance = new OSUI.Behaviors.FocusManager();
if (this._isOpen === false) {
OSUI.Helper.A11Y.SetElementsTabIndex(false, this._focusTrapInstance.focusableElements);
}
}
_keypressBalloonCallback(e) {
e.stopPropagation();
if (e.key === OSUI.GlobalEnum.Keycodes.Escape && this._isOpen) {
this.close();
this._submenuHeaderElement.focus();
}
}
_keypressCallback(e) {
const _clickedElem = e.target;
const _closestElem = _clickedElem.closest(OSUI.Constants.Dot + Submenu_1.Enum.CssClass.Pattern);
const _isEscapedPressed = e.key === OSUI.GlobalEnum.Keycodes.Escape;
const _isEnterPressed = e.key === OSUI.GlobalEnum.Keycodes.Enter;
const _isTabPressed = e.key === OSUI.GlobalEnum.Keycodes.Tab;
const _isShiftPressed = e.shiftKey;
const _isArrowUp = e.key === OSUI.GlobalEnum.Keycodes.ArrowUp;
const _isArrowDown = e.key === OSUI.GlobalEnum.Keycodes.ArrowDown;
const _targetAfterArrow = _isArrowUp ? this._focusTrapInstance.focusableElements.length - 1 : 0;
if (_isArrowDown || _isArrowUp) {
this.open();
OSUI.Helper.AsyncInvocation(() => {
this._focusTrapInstance.focusableElements[_targetAfterArrow].focus();
});
}
if (_isEnterPressed) {
this._toggleSubmenu();
}
if (_isEscapedPressed && this._isOpen) {
this.close();
this._submenuHeaderElement.focus();
}
if (_isShiftPressed && _isTabPressed && _clickedElem === this._submenuHeaderElement) {
if (_closestElem === this.selfElement && this._isOpen) {
this.close();
}
}
e.stopPropagation();
}
_onMouseEnterCallback(e) {
this.open();
e.stopPropagation();
}
_onMouseLeaveCallback(e) {
if (this.selfElement.querySelector(':hover') === null) {
this.close();
}
e.preventDefault();
e.stopPropagation();
}
_removeActive() {
if (this._isActive) {
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, Submenu_1.Enum.CssClass.PatternActive);
this._isActive = false;
}
}
_removeEvents() {
if (this._hasElements) {
if (this.configs.OpenOnHover === false || OSUI.Helper.DeviceInfo.IsTouch) {
this._submenuHeaderElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.Click, this._eventClick);
this._submenuHeaderElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventKeypress);
}
if (this.configs.OpenOnHover && OSUI.Helper.DeviceInfo.IsTouch === false) {
this.selfElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.MouseEnter, this._eventOnMouseEnter);
this.selfElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.MouseLeave, this._eventOnMouseLeave);
}
}
OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.removeHandler(OSUI.Event.DOMEvents.Listeners.Type.BodyOnClick, this._globalEventBody);
}
_setActive() {
if (this._isActive === false) {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, Submenu_1.Enum.CssClass.PatternActive);
this._isActive = true;
}
}
_show() {
if (this._isOpen === false) {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, Submenu_1.Enum.CssClass.PatternIsOpen);
this._submenuHeaderElement.focus();
this._isOpen = true;
this._updateA11yProperties();
}
}
_toggleSubmenu() {
if (this._isOpen) {
this.close();
}
else {
OSUI.Helper.AsyncInvocation(this.open.bind(this));
}
}
_updateA11yProperties() {
OSUI.Helper.A11Y.AriaExpanded(this._submenuHeaderElement, this._isOpen.toString());
OSUI.Helper.A11Y.AriaHidden(this._submenuLinksElement, (!this._isOpen).toString());
this._submenuAllLinksElement.forEach((item) => {
if (this._isOpen) {
OSUI.Helper.A11Y.TabIndexTrue(item);
OSUI.Helper.A11Y.AriaHiddenFalse(item);
}
else {
OSUI.Helper.A11Y.TabIndexFalse(item);
OSUI.Helper.A11Y.AriaHiddenTrue(item);
}
});
}
setA11YProperties() {
OSUI.Helper.A11Y.AriaHasPopupTrue(this._submenuHeaderElement);
OSUI.Helper.A11Y.TabIndexTrue(this._submenuHeaderElement);
OSUI.Helper.A11Y.AriaControls(this._submenuHeaderElement, this._submenuLinksElement.id);
OSUI.Helper.A11Y.RoleButton(this._submenuHeaderElement);
OSUI.Helper.Dom.Attribute.Set(this._submenuHeaderElement, OSUI.Constants.FocusableTabIndexDefault, OSUI.Constants.EmptyString);
this._submenuAllLinksElement.forEach((item) => {
OSUI.Helper.A11Y.RoleMenuItem(item);
});
this._updateA11yProperties();
}
setCallbacks() {
this._eventClick = this._clickCallback.bind(this);
this._globalEventBody = this._bodyClickCallback.bind(this);
this._eventBalloonKeypress = this._keypressBalloonCallback.bind(this);
this._eventKeypress = this._keypressCallback.bind(this);
this._eventOnMouseEnter = this._onMouseEnterCallback.bind(this);
this._eventOnMouseLeave = this._onMouseLeaveCallback.bind(this);
if (this._hasElements) {
if (this.configs.OpenOnHover === false || OSUI.Helper.DeviceInfo.IsTouch) {
this._submenuHeaderElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.Click, this._eventClick);
}
this._submenuHeaderElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventKeypress);
}
}
setHtmlElements() {
this._submenuHeaderElement = OSUI.Helper.Dom.ClassSelector(this.selfElement, Submenu_1.Enum.CssClass.PatternHeader);
this._submenuLinksElement = OSUI.Helper.Dom.ClassSelector(this.selfElement, Submenu_1.Enum.CssClass.PatternLinks);
this._submenuAllLinksElement = [...this._submenuLinksElement.querySelectorAll(OSUI.GlobalEnum.HTMLElement.Link)];
if (this._submenuLinksElement.children.length > 0) {
this._hasElements = true;
}
OSUI.Helper.AsyncInvocation(this._checkForActiveLinks.bind(this));
}
setInitialStates() {
if (this._hasActiveLinks) {
this._setActive();
}
if (this._hasElements) {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, Submenu_1.Enum.CssClass.PatternIsDropdown);
}
else {
OSUI.Helper.Dom.Styles.AddClass(this._submenuLinksElement, Submenu_1.Enum.CssClass.PatternIsHidden);
}
if (OSUI.Helper.Dom.Styles.ContainsClass(this.selfElement, Submenu_1.Enum.CssClass.PatternIsOpen) && !this._isOpen) {
this._isOpen = true;
}
}
unsetCallbacks() {
this._eventClick = undefined;
this._eventBalloonKeypress = undefined;
this._eventKeypress = undefined;
this._globalEventBody = undefined;
this._eventOnMouseEnter = undefined;
this._eventOnMouseLeave = undefined;
this._platformEventOnToggleCallback = undefined;
}
unsetHtmlElements() {
this._submenuHeaderElement = undefined;
this._submenuLinksElement = undefined;
this._submenuAllLinksElement = undefined;
this._submenuActiveLinksElement = undefined;
}
build() {
super.build();
this.setHtmlElements();
this.setInitialStates();
this._handleFocusBehavior();
this.setA11YProperties();
this.setCallbacks();
this.finishBuild();
}
clickOutsideToClose(clickOutsideToClose) {
this.hasClickOutsideToClose = clickOutsideToClose;
if (this.hasClickOutsideToClose) {
OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.addHandler(OSUI.Event.DOMEvents.Listeners.Type.BodyOnClick, this._globalEventBody);
}
else if (this.hasClickOutsideToClose === false) {
OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.removeHandler(OSUI.Event.DOMEvents.Listeners.Type.BodyOnClick, this._globalEventBody);
}
}
close() {
if (this._isOpen) {
this._focusTrapInstance.disableForA11y();
if (this.hasClickOutsideToClose) {
OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.removeHandler(OSUI.Event.DOMEvents.Listeners.Type.BodyOnClick, this._globalEventBody);
}
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, Submenu_1.Enum.CssClass.PatternIsOpen);
this._isOpen = false;
this._updateA11yProperties();
this._focusManagerInstance.setFocusToStoredElement();
this._submenuLinksElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventBalloonKeypress.bind(this));
this.triggerPlatformEventCallback(this._platformEventOnToggleCallback, false);
}
}
dispose() {
this._removeEvents();
this.unsetCallbacks();
this.unsetHtmlElements();
super.dispose();
}
open() {
this._focusTrapInstance.enableForA11y();
this._focusManagerInstance.storeLastFocusedElement();
if (this.hasClickOutsideToClose) {
OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.addHandler(OSUI.Event.DOMEvents.Listeners.Type.BodyOnClick, this._globalEventBody);
}
this._submenuLinksElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventBalloonKeypress.bind(this));
OSUI.Helper.AsyncInvocation(this._show.bind(this));
this.triggerPlatformEventCallback(this._platformEventOnToggleCallback, true);
}
registerCallback(eventName, callback) {
switch (eventName) {
case Submenu_1.Enum.Events.OnToggle:
if (this._platformEventOnToggleCallback === undefined) {
this._platformEventOnToggleCallback = callback;
}
break;
default:
super.registerCallback(eventName, callback);
}
}
setOpenOnHover() {
if (OSUI.Helper.DeviceInfo.IsTouch === false) {
if (this._hasElements) {
this._submenuHeaderElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.Click, this._eventClick);
this._eventClick = undefined;
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, Submenu_1.Enum.CssClass.PatternIsHover);
this.selfElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.MouseEnter, this._eventOnMouseEnter);
this.selfElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.MouseLeave, this._eventOnMouseLeave);
}
}
}
updateOnRender() {
if (this.isBuilt) {
this._checkForActiveLinks();
if (this._hasActiveLinks && this._isActive === false) {
this._setActive();
}
else if (this._hasActiveLinks === false && this._isActive) {
this._removeActive();
}
}
}
}
Submenu_1.Submenu = Submenu;
})(Submenu = Patterns.Submenu || (Patterns.Submenu = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Submenu;
(function (Submenu) {
class SubmenuConfig extends Patterns.AbstractConfiguration {
constructor() {
super(...arguments);
this.OpenOnHover = false;
}
validateDefault(key, value) {
let validatedValue = undefined;
switch (key) {
case Submenu.Enum.Properties.OpenOnHover:
validatedValue = this.validateBoolean(value, false);
break;
default:
validatedValue = super.validateDefault(key, value);
break;
}
return validatedValue;
}
}
Submenu.SubmenuConfig = SubmenuConfig;
})(Submenu = Patterns.Submenu || (Patterns.Submenu = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var SwipeEvents;
(function (SwipeEvents) {
var Enum;
(function (Enum) {
let Events;
(function (Events) {
Events["SwipeUp"] = "SwipeUp";
Events["SwipeDown"] = "SwipeDown";
Events["SwipeRight"] = "SwipeRight";
Events["SwipeLeft"] = "SwipeLeft";
})(Events = Enum.Events || (Enum.Events = {}));
let Properties;
(function (Properties) {
Properties[Properties["Threshold"] = 10] = "Threshold";
Properties[Properties["Velocity"] = 0.3] = "Velocity";
})(Properties = Enum.Properties || (Enum.Properties = {}));
})(Enum = SwipeEvents.Enum || (SwipeEvents.Enum = {}));
})(SwipeEvents = Patterns.SwipeEvents || (Patterns.SwipeEvents = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var SwipeEvents;
(function (SwipeEvents_1) {
class SwipeEvents extends Patterns.AbstractPattern {
constructor(uniqueId, configs) {
super(uniqueId, new SwipeEvents_1.SwipeEventsConfig(configs));
this._threshold = SwipeEvents_1.Enum.Properties.Threshold;
this._velocity = SwipeEvents_1.Enum.Properties.Velocity;
}
_removeEventListeners() {
if (this._swipableElement) {
this._swipableElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.TouchStart, this._gestureStartEvent);
this._swipableElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.TouchMove, this._gestureMoveEvent);
}
}
_setEventListeners() {
if (this._swipableElement) {
this._swipableElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.TouchStart, this._gestureStartEvent);
this._swipableElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.TouchMove, this._gestureMoveEvent);
}
}
_triggerSwipeDown() {
if (this._swipeRightCallback) {
OSUI.Helper.AsyncInvocation(this._swipeDownCallback);
}
}
_triggerSwipeLeft() {
if (this._swipeRightCallback) {
OSUI.Helper.AsyncInvocation(this._swipeLeftCallback);
}
}
_triggerSwipeRight() {
if (this._swipeRightCallback) {
OSUI.Helper.AsyncInvocation(this._swipeRightCallback);
}
}
_triggerSwipeUp() {
if (this._swipeRightCallback) {
OSUI.Helper.AsyncInvocation(this._swipeUpCallback);
}
}
setA11YProperties() {
console.warn(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
setCallbacks() {
this._gestureStartEvent = this.EventGestureEnd.bind(this);
this._gestureMoveEvent = this.EventGestureMove.bind(this);
this._setEventListeners();
}
setHtmlElements() {
this._swipableElement = document.getElementById(this.configs.WidgetId);
}
unsetCallbacks() {
this._removeEventListeners();
this._gestureStartEvent = undefined;
this._gestureMoveEvent = undefined;
}
unsetHtmlElements() {
this._swipableElement = undefined;
}
EventGestureEnd(offsetX, offsetY, timeTaken) {
if ((Math.abs(offsetX) > this._threshold || Math.abs(offsetY) > this._threshold) &&
(Math.abs(offsetX) / timeTaken > this._velocity || Math.abs(offsetY) / timeTaken > this._velocity)) {
if (Math.abs(offsetX) > Math.abs(offsetY)) {
if (offsetX > 0) {
this._triggerSwipeRight();
}
else {
this._triggerSwipeLeft();
}
}
else if (offsetY > 0) {
this._triggerSwipeDown();
}
else {
this._triggerSwipeUp();
}
}
}
EventGestureMove(event) {
if (event) {
event.preventDefault();
}
}
build() {
super.build();
this.setHtmlElements();
this.setCallbacks();
this.finishBuild();
}
dispose() {
super.dispose();
this.unsetCallbacks();
this.unsetHtmlElements();
}
registerCallback(eventName, callback) {
switch (eventName) {
case Patterns.SwipeEvents.Enum.Events.SwipeDown:
this._swipeDownCallback = callback;
break;
case Patterns.SwipeEvents.Enum.Events.SwipeUp:
this._swipeUpCallback = callback;
break;
case Patterns.SwipeEvents.Enum.Events.SwipeRight:
this._swipeRightCallback = callback;
break;
case Patterns.SwipeEvents.Enum.Events.SwipeLeft:
this._swipeLeftCallback = callback;
break;
}
}
}
SwipeEvents_1.SwipeEvents = SwipeEvents;
})(SwipeEvents = Patterns.SwipeEvents || (Patterns.SwipeEvents = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var SwipeEvents;
(function (SwipeEvents) {
class SwipeEventsConfig extends Patterns.AbstractConfiguration {
constructor(config) {
super(config);
}
}
SwipeEvents.SwipeEventsConfig = SwipeEventsConfig;
})(SwipeEvents = Patterns.SwipeEvents || (Patterns.SwipeEvents = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Tabs;
(function (Tabs) {
var Enum;
(function (Enum) {
let ChildNotifyActionType;
(function (ChildNotifyActionType) {
ChildNotifyActionType["AddContentItem"] = "add-content-item";
ChildNotifyActionType["AddHeaderItem"] = "add-header-item";
ChildNotifyActionType["Click"] = "click";
ChildNotifyActionType["RemovedContentItem"] = "removed-content-item";
ChildNotifyActionType["RemovedHeaderItem"] = "removed-header-item";
ChildNotifyActionType["DisabledHeaderItem"] = "disabled-header-item";
ChildNotifyActionType["EnabledHeaderItem"] = "enabled-header-item";
ChildNotifyActionType["UpdateIndicator"] = "update-indicator";
})(ChildNotifyActionType = Enum.ChildNotifyActionType || (Enum.ChildNotifyActionType = {}));
let CssClasses;
(function (CssClasses) {
CssClasses["ActiveTab"] = "osui-tabs--is-active";
CssClasses["IsVertical"] = "osui-tabs--is-vertical";
CssClasses["IsHorizontal"] = "osui-tabs--is-horizontal";
CssClasses["IsJustified"] = "osui-tabs--is-justified";
CssClasses["HasContentAutoHeight"] = "osui-tabs--has-auto-height";
CssClasses["HasDragGestures"] = "osui-tabs--has-drag";
CssClasses["Modifier"] = "osui-tabs--is-";
CssClasses["TabsWrapper"] = "osui-tabs";
CssClasses["TabsHeader"] = "osui-tabs__header";
CssClasses["TabsContent"] = "osui-tabs__content";
CssClasses["TabsHeaderItem"] = "osui-tabs__header-item";
CssClasses["TabsContentItem"] = "osui-tabs__content-item";
CssClasses["TabsIndicatorElem"] = "osui-tabs__header__indicator";
})(CssClasses = Enum.CssClasses || (Enum.CssClasses = {}));
let Attributes;
(function (Attributes) {
Attributes["DataTab"] = "data-tab";
Attributes["DataDirection"] = "data-direction";
})(Attributes = Enum.Attributes || (Enum.Attributes = {}));
let CssProperty;
(function (CssProperty) {
CssProperty["TabsContentItemOverflow"] = "--tabs-content-item-overflow";
CssProperty["TabsHeaderItems"] = "--tabs-header-items";
CssProperty["TabsHeight"] = "--tabs-height";
CssProperty["TabsIndicatorSize"] = "--tabs-indicator-size";
CssProperty["TabsIndicatorTransform"] = "--tabs-indicator-transform";
})(CssProperty = Enum.CssProperty || (Enum.CssProperty = {}));
let Properties;
(function (Properties) {
Properties["ContentAutoHeight"] = "ContentAutoHeight";
Properties["Height"] = "Height";
Properties["JustifyHeaders"] = "JustifyHeaders";
Properties["StartingTab"] = "StartingTab";
Properties["TabsOrientation"] = "TabsOrientation";
Properties["TabsVerticalPosition"] = "TabsVerticalPosition";
})(Properties = Enum.Properties || (Enum.Properties = {}));
let ObserverOptions;
(function (ObserverOptions) {
ObserverOptions["RootMargin"] = "1px";
})(ObserverOptions = Enum.ObserverOptions || (Enum.ObserverOptions = {}));
let ElementsBlockingOnChange;
(function (ElementsBlockingOnChange) {
ElementsBlockingOnChange["Dropdown"] = ".pop-comp-active";
})(ElementsBlockingOnChange = Enum.ElementsBlockingOnChange || (Enum.ElementsBlockingOnChange = {}));
let ChildTypes;
(function (ChildTypes) {
ChildTypes["TabsContentItem"] = "TabsContentItem";
ChildTypes["TabsHeaderItem"] = "TabsHeaderItem";
})(ChildTypes = Enum.ChildTypes || (Enum.ChildTypes = {}));
let Events;
(function (Events) {
Events["OnChange"] = "OnChange";
})(Events = Enum.Events || (Enum.Events = {}));
})(Enum = Tabs.Enum || (Tabs.Enum = {}));
})(Tabs = Patterns.Tabs || (Patterns.Tabs = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Tabs;
(function (Tabs_1) {
class Tabs extends Patterns.AbstractParent {
constructor(uniqueId, configs) {
super(uniqueId, new Tabs_1.TabsConfig(configs));
this._hasDragGestures =
OSUI.Helper.DeviceInfo.IsNative && this.configs.TabsOrientation === OSUI.GlobalEnum.Orientation.Horizontal;
}
_addContentItem(tabsContentChildItem) {
if (this.getChild(tabsContentChildItem.uniqueId)) {
throw new Error(`${OSUI.ErrorCodes.Tabs.FailSetNewChildContentItem}: There is already a ${OSUI.GlobalEnum.PatternName.TabsContentItem} under Id: '${tabsContentChildItem.widgetId}' added to ${OSUI.GlobalEnum.PatternName.Tabs} with uniqueId: ${this.uniqueId}.`);
}
else {
this.setChild(tabsContentChildItem);
}
if (this.isBuilt) {
OSUI.Helper.AsyncInvocation(this._updateItemsConnection.bind(this));
if (this._activeTabContentElement === undefined) {
this._activeTabContentElement = tabsContentChildItem;
}
if (this._hasDragGestures) {
tabsContentChildItem.setOnDragObserver(this._dragObserver);
}
}
else {
tabsContentChildItem.setDataTab(this.getChildItems(Tabs_1.Enum.ChildTypes.TabsContentItem).length - 1);
}
}
_addEvents() {
this.selfElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventOnHeaderKeypress);
OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.addHandler(OSUI.Event.DOMEvents.Listeners.Type.WindowResize, this._eventOnResize);
if (OSUI.Helper.DeviceInfo.IsPhone || OSUI.Helper.DeviceInfo.IsTablet) {
OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.addHandler(OSUI.Event.DOMEvents.Listeners.Type.OrientationChange, this._eventOnResize);
}
}
_addHeaderItem(tabsHeaderChildItem) {
if (this.getChild(tabsHeaderChildItem.uniqueId)) {
throw new Error(`${OSUI.ErrorCodes.Tabs.FailSetNewChildHeaderItem}: There is already a ${OSUI.GlobalEnum.PatternName.TabsHeaderItem} under Id: '${tabsHeaderChildItem.widgetId}' added to ${OSUI.GlobalEnum.PatternName.Tabs} with uniqueId: ${this.uniqueId}.`);
}
else {
this.setChild(tabsHeaderChildItem);
}
this._headerItemsLength = this.getChildItems(Tabs_1.Enum.ChildTypes.TabsHeaderItem).length;
const currentIndex = this._headerItemsLength - 1;
if (this.isBuilt) {
OSUI.Helper.AsyncInvocation(this._updateItemsConnection.bind(this));
if ((this._activeTabHeaderElement === undefined || this._activeTabHeaderElement === null) &&
currentIndex === this.configs.StartingTab) {
OSUI.Helper.AsyncInvocation(this.changeTab.bind(this), this.configs.StartingTab, tabsHeaderChildItem);
}
this._setHeaderItemsCustomProperty(this._headerItemsLength);
this._handleTabIndicator();
}
else {
tabsHeaderChildItem.setDataTab(currentIndex);
}
}
_changeActiveContentItem(newTabIndex, triggeredByObserver) {
var _a;
const newContentItem = this.getChildByIndex(newTabIndex, Tabs_1.Enum.ChildTypes.TabsContentItem);
if (newContentItem) {
(_a = this._activeTabContentElement) === null || _a === void 0 ? void 0 : _a.unsetIsActive();
newContentItem.setIsActive();
this._activeTabContentElement = newContentItem;
}
if (this._hasDragGestures && this.isBuilt) {
this._activeTabHeaderElement.setFocus();
}
if (triggeredByObserver === false) {
this._scrollToTargetContent(newContentItem);
}
}
_changeActiveHeaderItem(newHeaderItem) {
var _a;
if (this._activeTabHeaderElement) {
(_a = this._activeTabHeaderElement) === null || _a === void 0 ? void 0 : _a.unsetIsActive();
}
if (newHeaderItem) {
newHeaderItem.setIsActive();
this._activeTabHeaderElement = newHeaderItem;
}
}
_getTargetIndex(tabIndex) {
let newTabIndex;
if (this.getChildByIndex(tabIndex, Tabs_1.Enum.ChildTypes.TabsHeaderItem)) {
newTabIndex = tabIndex;
}
else if (this.getChildByIndex(this.configs.StartingTab, Tabs_1.Enum.ChildTypes.TabsHeaderItem)) {
newTabIndex = this.configs.StartingTab;
}
else {
newTabIndex = 0;
}
return newTabIndex;
}
_handleKeypressEvent(e) {
let currentTabHeader;
let targetHeaderItemIndex;
if (e.target.closest(`${OSUI.Constants.Dot}${Tabs_1.Enum.CssClasses.TabsContent}`) ===
this._tabsContentElement &&
(e.key === OSUI.GlobalEnum.Keycodes.PageDown || e.key === OSUI.GlobalEnum.Keycodes.PageUp)) {
e.preventDefault();
return;
}
if (e.target !== this._activeTabHeaderElement.selfElement) {
return;
}
switch (e.key) {
case OSUI.GlobalEnum.Keycodes.ArrowRight:
currentTabHeader = this._tabsHeadersEnabled.indexOf(this._activeTabHeaderElement);
targetHeaderItemIndex =
this._tabsHeadersEnabled[currentTabHeader + 1] === undefined
? this._tabsHeadersEnabled[0].getDataTab()
: this._tabsHeadersEnabled[currentTabHeader + 1].getDataTab();
this.changeTab(targetHeaderItemIndex, undefined, true);
break;
case OSUI.GlobalEnum.Keycodes.ArrowLeft:
currentTabHeader = this._tabsHeadersEnabled.indexOf(this._activeTabHeaderElement);
targetHeaderItemIndex =
this._tabsHeadersEnabled[currentTabHeader - 1] === undefined
? this._tabsHeadersEnabled[this._tabsHeadersEnabled.length - 1].getDataTab()
: this._tabsHeadersEnabled[currentTabHeader - 1].getDataTab();
this.changeTab(targetHeaderItemIndex, undefined, true);
break;
case OSUI.GlobalEnum.Keycodes.End:
case OSUI.GlobalEnum.Keycodes.PageDown:
targetHeaderItemIndex = this._tabsHeadersEnabled[this._tabsHeadersEnabled.length - 1].getDataTab();
this.changeTab(targetHeaderItemIndex, undefined, true);
break;
case OSUI.GlobalEnum.Keycodes.Home:
case OSUI.GlobalEnum.Keycodes.PageUp:
targetHeaderItemIndex = this._tabsHeadersEnabled[0].getDataTab();
this.changeTab(targetHeaderItemIndex, undefined, true);
break;
}
const targetHeaderItem = this.getChildByIndex(targetHeaderItemIndex, Tabs_1.Enum.ChildTypes.TabsHeaderItem);
if (targetHeaderItem) {
targetHeaderItem.setFocus();
}
}
_handleOnResizeEvent() {
this._scrollToTargetContent(this._activeTabContentElement);
OSUI.Helper.AsyncInvocation(this._handleTabIndicator.bind(this));
}
_handleTabIndicator() {
var _a;
if ((_a = this._activeTabHeaderElement) === null || _a === void 0 ? void 0 : _a.selfElement) {
if (!OSUI.Helper.Dom.Attribute.Get(this._activeTabHeaderElement.selfElement, OSUI.GlobalEnum.HTMLAttributes.Disabled)) {
OSUI.Helper.Dom.Attribute.Remove(this._tabsIndicatorElement, OSUI.GlobalEnum.HTMLAttributes.Disabled);
}
const _isVertical = this.configs.TabsOrientation === OSUI.GlobalEnum.Orientation.Vertical;
const _activeElement = this._activeTabHeaderElement.selfElement;
const _transformValue = _isVertical
? _activeElement.offsetTop
: OutSystems.OSUI.Utils.GetIsRTL()
? -(this._tabsHeaderElement.offsetWidth -
_activeElement.offsetLeft -
_activeElement.offsetWidth)
: _activeElement.offsetLeft;
const _elementRect = _activeElement.getBoundingClientRect();
const _finalSize = _isVertical ? _elementRect.height : _elementRect.width;
function updateIndicatorUI() {
if (this._tabsIndicatorElement) {
OSUI.Helper.Dom.Styles.SetStyleAttribute(this._tabsIndicatorElement, Tabs_1.Enum.CssProperty.TabsIndicatorTransform, _transformValue + OSUI.GlobalEnum.Units.Pixel);
OSUI.Helper.Dom.Styles.SetStyleAttribute(this._tabsIndicatorElement, Tabs_1.Enum.CssProperty.TabsIndicatorSize, Math.floor(_finalSize) + OSUI.GlobalEnum.Units.Pixel);
}
else {
cancelAnimationFrame(this._requestAnimationFrameOnIndicatorResize);
}
}
this._requestAnimationFrameOnIndicatorResize = requestAnimationFrame(updateIndicatorUI.bind(this));
if (Number.isNaN(_finalSize) || _finalSize === 0) {
const resizeObserver = new ResizeObserver((entries) => {
for (const entry of entries) {
if (entry.contentBoxSize) {
this._handleTabIndicator();
resizeObserver.unobserve(_activeElement);
}
}
});
resizeObserver.observe(_activeElement);
}
}
}
_prepareHeaderAndContentItems() {
this._hasSingleContent = this.getChildItems(Tabs_1.Enum.ChildTypes.TabsContentItem).length === 1;
this._activeTabHeaderElement = this.getChildByIndex(this.configs.StartingTab, Tabs_1.Enum.ChildTypes.TabsHeaderItem);
this._activeTabContentElement = this._hasSingleContent
? this.getChildByIndex(0, Tabs_1.Enum.ChildTypes.TabsContentItem)
: this.getChildByIndex(this.configs.StartingTab, Tabs_1.Enum.ChildTypes.TabsContentItem);
if (this._hasSingleContent) {
this._activeTabContentElement.setIsActive();
}
this._updateItemsConnection(false);
this._updateListOfEnabledTabsHeader();
}
_removeContentItem(childContentId) {
const childContentItem = this.getChild(childContentId);
let auxIndex;
if (childContentItem) {
auxIndex = this.getChildIndex(childContentId);
this.unsetChild(childContentId);
}
else {
throw new Error(`${OSUI.ErrorCodes.Tabs.FailUnsetNewChildContentItem}: The ${OSUI.GlobalEnum.PatternName.TabsContentItem} under uniqueId: '${childContentId}' does not exist as an TabsContentItem from ${OSUI.GlobalEnum.PatternName.Tabs} with Id: ${this.widgetId}.`);
}
if (this._hasDragGestures) {
childContentItem.unobserveDragObserver(this._dragObserver);
}
const wasActive = childContentItem.IsActive;
if (wasActive) {
if (this.getChildByIndex(auxIndex)) {
this._activeTabContentElement = this.getChildByIndex(auxIndex, Tabs_1.Enum.ChildTypes.TabsContentItem);
this._activeTabContentElement.setIsActive();
}
else if (this.getChildItems(Tabs_1.Enum.ChildTypes.TabsContentItem).length > 0) {
this._activeTabContentElement = this.getChildItems(Tabs_1.Enum.ChildTypes.TabsContentItem).filter((item) => item.isLastChild)[0];
this._activeTabContentElement.setIsActive();
}
else {
this._activeTabContentElement = null;
}
}
}
_removeEvents() {
this._tabsHeaderElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventOnHeaderKeypress);
OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.removeHandler(OSUI.Event.DOMEvents.Listeners.Type.WindowResize, this._eventOnResize);
if (OSUI.Helper.DeviceInfo.IsPhone || OSUI.Helper.DeviceInfo.IsTablet) {
OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.removeHandler(OSUI.Event.DOMEvents.Listeners.Type.OrientationChange, this._eventOnResize);
}
}
_removeHeaderItem(childHeaderId) {
const auxIndex = this.getChildIndex(childHeaderId);
const wasActive = this.getChild(childHeaderId).IsActive;
if (this.getChild(childHeaderId)) {
this.unsetChild(childHeaderId);
}
else {
throw new Error(`${OSUI.ErrorCodes.Tabs.FailUnsetNewChildHeaderItem}: The ${OSUI.GlobalEnum.PatternName.TabsHeaderItem} under uniqueId: '${childHeaderId}' does not exist as an TabsHeaderItem from ${OSUI.GlobalEnum.PatternName.Tabs} with Id: ${this.widgetId}.`);
}
this._headerItemsLength = this._headerItemsLength - 1;
if (this.isBuilt) {
this._setHeaderItemsCustomProperty(this._headerItemsLength);
if (wasActive) {
if (this.getChildByIndex(auxIndex)) {
this._activeTabHeaderElement = this.getChildByIndex(auxIndex, Tabs_1.Enum.ChildTypes.TabsHeaderItem);
this._activeTabHeaderElement.setIsActive();
}
else if (this.getChildItems(Tabs_1.Enum.ChildTypes.TabsHeaderItem).length > 0) {
this._activeTabHeaderElement = this.getChildItems(Tabs_1.Enum.ChildTypes.TabsHeaderItem).filter((item) => item.isLastChild)[0];
this._activeTabHeaderElement.setIsActive();
}
else {
this._activeTabHeaderElement = null;
}
this._handleTabIndicator();
}
}
}
_scrollToTargetContent(newContentItem) {
if (newContentItem) {
this._tabsContentElement.scrollTo({
top: 0,
left: newContentItem.getOffsetLeft(),
behavior: OSUI.GlobalEnum.ScrollBehavior.Auto,
});
}
}
_setContentAutoHeight(hasAutoHeight) {
if (this._hasDragGestures === false) {
if (hasAutoHeight) {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, Tabs_1.Enum.CssClasses.HasContentAutoHeight);
}
else {
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, Tabs_1.Enum.CssClasses.HasContentAutoHeight);
}
}
else {
console.warn(`Tabs (${this.widgetId}): changes to ${Tabs_1.Enum.Properties.ContentAutoHeight} parameter do not affect tabs when Gestures are in use.`);
}
}
_setDragObserver() {
const observerOptions = {
root: this._tabsContentElement,
rootMargin: Tabs_1.Enum.ObserverOptions.RootMargin,
threshold: 1,
};
this._dragObserver = new IntersectionObserver((entries) => {
entries.forEach((entry) => {
if (entry.isIntersecting) {
const targetIndex = parseInt(OSUI.Helper.Dom.Attribute.Get(entry.target, Tabs_1.Enum.Attributes.DataTab));
const currentHeaderItem = this.getChildByIndex(targetIndex, Tabs_1.Enum.ChildTypes.TabsHeaderItem);
OSUI.Helper.AsyncInvocation(this.changeTab.bind(this), targetIndex, currentHeaderItem, true, true);
}
});
}, observerOptions);
this.getChildItems(Tabs_1.Enum.ChildTypes.TabsContentItem).forEach((item) => {
item.setOnDragObserver(this._dragObserver);
});
}
_setHeaderItemsCustomProperty(itemsLength) {
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Tabs_1.Enum.CssProperty.TabsHeaderItems, itemsLength);
}
_setHeight(height) {
const tabsOverflow = height === OSUI.GlobalEnum.CssProperties.Auto || height === OSUI.Constants.EmptyString
? OSUI.GlobalEnum.CssProperties.Initial
: OSUI.GlobalEnum.CssProperties.Auto;
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Tabs_1.Enum.CssProperty.TabsHeight, height);
OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, Tabs_1.Enum.CssProperty.TabsContentItemOverflow, tabsOverflow);
}
_setInitialOptions() {
this._setHeaderItemsCustomProperty(this.getChildItems(Tabs_1.Enum.ChildTypes.TabsHeaderItem).length);
this._setOrientation(this.configs.TabsOrientation);
OSUI.Helper.AsyncInvocation(this._setHeight.bind(this), this.configs.Height);
OSUI.Helper.AsyncInvocation(this._setPosition.bind(this), this.configs.TabsVerticalPosition);
OSUI.Helper.AsyncInvocation(this._setIsJustified.bind(this), this.configs.JustifyHeaders);
OSUI.Helper.AsyncInvocation(this._setContentAutoHeight.bind(this), this.configs.ContentAutoHeight);
if (this._hasDragGestures) {
OSUI.Helper.AsyncInvocation(this.toggleDragGestures.bind(this), true);
}
}
_setIsJustified(isJustified) {
if (isJustified) {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, Tabs_1.Enum.CssClasses.IsJustified);
}
else {
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, Tabs_1.Enum.CssClasses.IsJustified);
}
if (this.isBuilt) {
this._handleTabIndicator();
}
}
_setOrientation(orientation) {
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, Tabs_1.Enum.CssClasses.Modifier + this._currentOrientation);
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, Tabs_1.Enum.CssClasses.Modifier + orientation);
this._currentOrientation = orientation;
if (this.isBuilt) {
this._handleTabIndicator();
this._scrollToTargetContent(this._activeTabContentElement);
}
}
_setPosition(position) {
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, Tabs_1.Enum.CssClasses.Modifier + this._currentVerticalPositon);
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, Tabs_1.Enum.CssClasses.Modifier + position);
this._currentVerticalPositon = position;
}
_setTabHeaderItemDisabledStatus(childHeaderId, isDisabled) {
const _tabHeaderItemElement = OSUI.Helper.Dom.GetElementByUniqueId(childHeaderId);
const _tabItemIndex = this.getChildIndex(childHeaderId);
const _tabContentItemId = this.getChildByIndex(this._hasSingleContent ? 0 : _tabItemIndex, Tabs_1.Enum.ChildTypes.TabsContentItem).widgetId;
const _tabContentItemElement = OSUI.Helper.Dom.GetElementById(_tabContentItemId);
const isTabHeaderItemDisabled = OSUI.Helper.Dom.Attribute.Get(_tabHeaderItemElement, OSUI.GlobalEnum.HTMLAttributes.Disabled);
if (isDisabled) {
let _allTabsDisabled = false;
OSUI.Helper.Dom.Attribute.Set(_tabHeaderItemElement, OSUI.GlobalEnum.HTMLAttributes.Disabled, 'true');
if (this._hasSingleContent) {
_allTabsDisabled = this.getChildItems().every((tabHeaderItem) => tabHeaderItem.selfElement.getAttribute(OSUI.GlobalEnum.HTMLAttributes.Disabled));
}
if (this._hasSingleContent === false || _allTabsDisabled) {
OSUI.Helper.Dom.Styles.SetStyleAttribute(_tabContentItemElement, OSUI.GlobalEnum.InlineStyle.Display, OSUI.GlobalEnum.InlineStyleValue.Display.none);
}
if (this._activeTabHeaderElement.selfElement === _tabHeaderItemElement) {
OSUI.Helper.Dom.Attribute.Set(this._tabsIndicatorElement, OSUI.GlobalEnum.HTMLAttributes.Disabled, true);
}
}
else if (!isDisabled && isTabHeaderItemDisabled) {
OSUI.Helper.Dom.Attribute.Remove(_tabHeaderItemElement, OSUI.GlobalEnum.HTMLAttributes.Disabled);
OSUI.Helper.Dom.Styles.SetStyleAttribute(_tabContentItemElement, OSUI.GlobalEnum.InlineStyle.Display, OSUI.GlobalEnum.InlineStyleValue.Display.contents);
if (this._activeTabHeaderElement.selfElement === _tabHeaderItemElement) {
OSUI.Helper.Dom.Attribute.Remove(this._tabsIndicatorElement, OSUI.GlobalEnum.HTMLAttributes.Disabled);
}
}
}
_tabHeaderItemHasBeenClicked(childHeaderId) {
const newHeaderItem = this.getChild(childHeaderId);
if (newHeaderItem === undefined) {
throw new Error(`${OSUI.ErrorCodes.Tabs.FailChildItemClicked}: The ${OSUI.GlobalEnum.PatternName.TabsHeaderItem} under uniqueId: '${childHeaderId}' does not exist as an TabsHeaderItem from ${OSUI.GlobalEnum.PatternName.Tabs} with Id: ${this.widgetId}.`);
}
this.changeTab(this.getChildIndex(childHeaderId), newHeaderItem, true);
}
_triggerOnChangeEvent(activeTab) {
if (this._platformEventTabsOnChange !== undefined) {
this.triggerPlatformEventCallback(this._platformEventTabsOnChange, activeTab);
}
}
_unsetDragObserver() {
this._dragObserver.disconnect();
}
_updateItemsConnection(updateDataTab = true) {
let currentContentItem = this.getChildByIndex(0, Tabs_1.Enum.ChildTypes.TabsContentItem);
this.getChildItems(Tabs_1.Enum.ChildTypes.TabsHeaderItem).forEach((item, index) => {
if (this._hasSingleContent === false) {
currentContentItem = this.getChildByIndex(index, Tabs_1.Enum.ChildTypes.TabsContentItem);
}
if (item && currentContentItem) {
item.setAriaControlsAttribute(currentContentItem.widgetId);
currentContentItem.setAriaLabelledByAttribute(item.widgetId);
if (updateDataTab) {
item.setDataTab(index);
currentContentItem.setDataTab(index);
}
}
});
}
_updateListOfEnabledTabsHeader() {
this._tabsHeadersEnabled = this.getChildItems(Tabs_1.Enum.ChildTypes.TabsHeaderItem).filter((element) => !element.selfElement.disabled);
}
setA11YProperties() {
OSUI.Helper.A11Y.RoleTabList(this._tabsHeaderElement.firstElementChild);
OSUI.Helper.A11Y.AriaHiddenTrue(this._tabsIndicatorElement);
}
setCallbacks() {
this._eventOnHeaderKeypress = this._handleKeypressEvent.bind(this);
this._eventOnResize = this._handleOnResizeEvent.bind(this);
this._addEvents();
}
setHtmlElements() {
this._tabsHeaderElement = OSUI.Helper.Dom.ClassSelector(this.selfElement, Tabs_1.Enum.CssClasses.TabsHeader);
this._tabsContentElement = OSUI.Helper.Dom.ClassSelector(this.selfElement, Tabs_1.Enum.CssClasses.TabsContent);
this._tabsIndicatorElement = OSUI.Helper.Dom.ClassSelector(this.selfElement, Tabs_1.Enum.CssClasses.TabsIndicatorElem);
}
unsetCallbacks() {
this._removeEvents();
this._eventOnHeaderKeypress = undefined;
this._eventOnResize = undefined;
if (this._hasDragGestures) {
this._unsetDragObserver();
}
this._requestAnimationFrameOnIndicatorResize = undefined;
}
unsetHtmlElements() {
this._tabsHeaderElement = undefined;
this._tabsContentElement = undefined;
this._tabsIndicatorElement = undefined;
}
beNotifiedByChild(childItem, notifiedTo) {
switch (notifiedTo) {
case Tabs_1.Enum.ChildNotifyActionType.AddContentItem:
this._addContentItem(childItem);
break;
case Tabs_1.Enum.ChildNotifyActionType.AddHeaderItem:
this._addHeaderItem(childItem);
this._updateListOfEnabledTabsHeader();
break;
case Tabs_1.Enum.ChildNotifyActionType.Click:
this._tabHeaderItemHasBeenClicked(childItem.uniqueId);
break;
case Tabs_1.Enum.ChildNotifyActionType.DisabledHeaderItem:
this._setTabHeaderItemDisabledStatus(childItem.uniqueId, true);
this._updateListOfEnabledTabsHeader();
break;
case Tabs_1.Enum.ChildNotifyActionType.EnabledHeaderItem:
this._setTabHeaderItemDisabledStatus(childItem.uniqueId, false);
this._updateListOfEnabledTabsHeader();
break;
case Tabs_1.Enum.ChildNotifyActionType.RemovedContentItem:
this._removeContentItem(childItem.uniqueId);
break;
case Tabs_1.Enum.ChildNotifyActionType.RemovedHeaderItem:
this._removeHeaderItem(childItem.uniqueId);
this._updateListOfEnabledTabsHeader();
break;
case Tabs_1.Enum.ChildNotifyActionType.UpdateIndicator:
this._handleTabIndicator();
break;
default:
throw new Error(`${OSUI.ErrorCodes.Tabs.FailToSetChildItemAction}: There no exist a '${notifiedTo}' notification type.`);
}
}
build() {
super.build();
this.setHtmlElements();
this._setInitialOptions();
this._prepareHeaderAndContentItems();
this.changeTab(this.configs.StartingTab);
OSUI.Helper.AsyncInvocation(this.setCallbacks.bind(this));
OSUI.Helper.AsyncInvocation(this.setA11YProperties.bind(this));
this.finishBuild();
}
changeProperty(propertyName, propertyValue) {
super.changeProperty(propertyName, propertyValue);
if (this.isBuilt) {
switch (propertyName) {
case Tabs_1.Enum.Properties.StartingTab:
console.warn(`Tabs (${this.widgetId}): changes to ${Tabs_1.Enum.Properties.StartingTab} parameter do not affect the tabs. Use the client action 'SetActiveTab' to affect the Tabs.`);
break;
case Tabs_1.Enum.Properties.Height:
this._setHeight(propertyValue);
break;
case Tabs_1.Enum.Properties.TabsOrientation:
this._setOrientation(propertyValue);
break;
case Tabs_1.Enum.Properties.TabsVerticalPosition:
this._setPosition(propertyValue);
break;
case Tabs_1.Enum.Properties.JustifyHeaders:
this._setIsJustified(propertyValue);
break;
case Tabs_1.Enum.Properties.ContentAutoHeight:
this._setContentAutoHeight(propertyValue);
break;
}
}
}
changeTab(tabIndex = this.configs.StartingTab, tabsHeaderItem, triggerEvent = false, triggeredByObserver = false) {
if (this._activeTabHeaderElement === tabsHeaderItem ||
(tabIndex === this.configs.StartingTab && this.isBuilt && tabsHeaderItem === undefined) ||
this._activeTabContentElement.selfElement.querySelector(Tabs_1.Enum.ElementsBlockingOnChange.Dropdown)) {
return;
}
let newTabIndex;
let newHeaderItem;
if (tabsHeaderItem === undefined) {
newTabIndex = this._getTargetIndex(tabIndex);
newHeaderItem = this.getChildByIndex(newTabIndex, Tabs_1.Enum.ChildTypes.TabsHeaderItem);
}
else {
newTabIndex = tabIndex;
newHeaderItem = tabsHeaderItem;
}
this._changeActiveHeaderItem(newHeaderItem);
if (this._hasSingleContent === false) {
this._changeActiveContentItem(newTabIndex, triggeredByObserver);
}
OSUI.Helper.AsyncInvocation(this._handleTabIndicator.bind(this));
this.configs.StartingTab = newTabIndex;
if (triggerEvent) {
this._triggerOnChangeEvent(newTabIndex);
}
}
dispose() {
this.unsetCallbacks();
this.unsetHtmlElements();
super.dispose();
}
registerCallback(eventName, callback) {
switch (eventName) {
case Tabs_1.Enum.Events.OnChange:
if (this._platformEventTabsOnChange === undefined) {
this._platformEventTabsOnChange = callback;
}
break;
default:
super.registerCallback(eventName, callback);
}
}
toggleDragGestures(addDragGestures) {
if (addDragGestures) {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, Patterns.Tabs.Enum.CssClasses.HasDragGestures);
this._hasDragGestures = true;
this._setDragObserver();
}
else if (this._hasDragGestures) {
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, Patterns.Tabs.Enum.CssClasses.HasDragGestures);
this._hasDragGestures = false;
this._unsetDragObserver();
}
}
}
Tabs_1.Tabs = Tabs;
})(Tabs = Patterns.Tabs || (Patterns.Tabs = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Tabs;
(function (Tabs) {
class TabsConfig extends Patterns.AbstractConfiguration {
validateCanChange(isBuilt, key) {
if (isBuilt) {
return key !== Tabs.Enum.Properties.StartingTab;
}
return true;
}
validateDefault(key, value) {
let validatedValue = undefined;
switch (key) {
case Tabs.Enum.Properties.TabsOrientation:
validatedValue = this.validateInRange(value, OSUI.GlobalEnum.Orientation.Horizontal, OSUI.GlobalEnum.Orientation.Vertical);
break;
case Tabs.Enum.Properties.TabsVerticalPosition:
validatedValue = this.validateInRange(value, OSUI.GlobalEnum.Direction.Left, OSUI.GlobalEnum.Direction.Right);
break;
case Tabs.Enum.Properties.ContentAutoHeight:
case Tabs.Enum.Properties.JustifyHeaders:
validatedValue = this.validateBoolean(value, false);
break;
case Tabs.Enum.Properties.Height:
validatedValue = this.validateString(value, OSUI.GlobalEnum.CssProperties.Auto);
break;
default:
validatedValue = super.validateDefault(key, value);
break;
}
return validatedValue;
}
}
Tabs.TabsConfig = TabsConfig;
})(Tabs = Patterns.Tabs || (Patterns.Tabs = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var TabsContentItem;
(function (TabsContentItem_1) {
class TabsContentItem extends Patterns.AbstractChild {
constructor(uniqueId, configs) {
super(uniqueId, new TabsContentItem_1.TabsContentItemConfig(configs));
}
setA11YProperties(isUpdate = true) {
if (isUpdate) {
OSUI.Helper.A11Y.RoleTabPanel(this.selfElement);
}
if (this._isActive) {
OSUI.Helper.A11Y.TabIndexTrue(this.selfElement);
OSUI.Helper.A11Y.AriaHiddenFalse(this.selfElement);
OSUI.Helper.Dom.Attribute.Set(this.selfElement, OSUI.Constants.FocusableTabIndexDefault, OSUI.Constants.EmptyString);
}
else {
OSUI.Helper.A11Y.TabIndexFalse(this.selfElement);
OSUI.Helper.A11Y.AriaHiddenTrue(this.selfElement);
OSUI.Helper.Dom.Attribute.Remove(this.selfElement, OSUI.Constants.FocusableTabIndexDefault);
}
OSUI.Helper.A11Y.SetElementsTabIndex(this._isActive, this._focusableElements);
}
setCallbacks() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
setHtmlElements() {
this._focusableElements = OSUI.Helper.Dom.GetFocusableElements(this.selfElement);
}
unsetCallbacks() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
unsetHtmlElements() {
this._focusableElements = undefined;
}
build() {
super.build();
this.setHtmlElements();
this.setParentInfo(OSUI.Constants.Dot + Patterns.Tabs.Enum.CssClasses.TabsWrapper, OutSystems.OSUI.Patterns.TabsAPI.GetTabsById);
this.notifyParent(Patterns.Tabs.Enum.ChildNotifyActionType.AddContentItem);
this.setA11YProperties(false);
this.finishBuild();
}
dispose() {
this.unsetHtmlElements();
this.notifyParent(Patterns.Tabs.Enum.ChildNotifyActionType.RemovedContentItem);
super.dispose();
}
getDataTab() {
return this._dataTab;
}
getOffsetLeft() {
return this.selfElement.offsetLeft;
}
setAriaLabelledByAttribute(headerItemId) {
OSUI.Helper.A11Y.AriaLabelledBy(this.selfElement, headerItemId);
}
setDataTab(dataTab) {
OSUI.Helper.Dom.Attribute.Set(this.selfElement, Patterns.Tabs.Enum.Attributes.DataTab, dataTab.toString());
this._dataTab = dataTab;
}
setIsActive() {
if (this.selfElement) {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, Patterns.Tabs.Enum.CssClasses.ActiveTab);
this._isActive = true;
this.setA11YProperties();
}
}
setOnDragObserver(observer) {
observer.observe(this.selfElement);
}
unobserveDragObserver(observer) {
observer.unobserve(this.selfElement);
}
unsetIsActive() {
if (this.selfElement) {
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, Patterns.Tabs.Enum.CssClasses.ActiveTab);
this._isActive = false;
this.setA11YProperties();
}
}
get IsActive() {
return this._isActive;
}
}
TabsContentItem_1.TabsContentItem = TabsContentItem;
})(TabsContentItem = Patterns.TabsContentItem || (Patterns.TabsContentItem = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var TabsContentItem;
(function (TabsContentItem) {
class TabsContentItemConfig extends Patterns.AbstractConfiguration {
constructor(config) {
super(config);
}
}
TabsContentItem.TabsContentItemConfig = TabsContentItemConfig;
})(TabsContentItem = Patterns.TabsContentItem || (Patterns.TabsContentItem = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var TabsHeaderItem;
(function (TabsHeaderItem_1) {
class TabsHeaderItem extends Patterns.AbstractChild {
constructor(uniqueId, configs) {
super(uniqueId, new TabsHeaderItem_1.TabsHeaderItemConfig(configs));
this._isActive = false;
}
_handleClickEvent() {
if (this._isActive === false) {
this.notifyParent(Patterns.Tabs.Enum.ChildNotifyActionType.Click);
}
}
_removeEvents() {
this.selfElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.Click, this._eventOnTabsClick);
}
_setUpEvents() {
this.selfElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.Click, this._eventOnTabsClick);
}
setA11YProperties(isUpdate = true) {
if (isUpdate === false) {
OSUI.Helper.A11Y.RoleTab(this.selfElement);
if (OSUI.Helper.DeviceInfo.IsIos || OSUI.Helper.DeviceInfo.GetOperatingSystem() === OSUI.GlobalEnum.MobileOS.MacOS) {
OSUI.Helper.A11Y.RolePresentation(this.selfElement.parentElement);
}
}
if (this._isActive) {
OSUI.Helper.A11Y.TabIndexTrue(this.selfElement);
OSUI.Helper.A11Y.AriaSelectedTrue(this.selfElement);
OSUI.Helper.Dom.Attribute.Set(this.selfElement, OSUI.Constants.FocusableTabIndexDefault, OSUI.Constants.EmptyString);
}
else {
OSUI.Helper.A11Y.TabIndexFalse(this.selfElement);
OSUI.Helper.A11Y.AriaSelectedFalse(this.selfElement);
OSUI.Helper.Dom.Attribute.Remove(this.selfElement, OSUI.Constants.FocusableTabIndexDefault);
}
}
setCallbacks() {
this._eventOnTabsClick = this._handleClickEvent.bind(this);
}
setHtmlElements() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
unsetCallbacks() {
this._eventOnTabsClick = undefined;
}
unsetHtmlElements() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
build() {
super.build();
this.setParentInfo(OSUI.Constants.Dot + Patterns.Tabs.Enum.CssClasses.TabsWrapper, OutSystems.OSUI.Patterns.TabsAPI.GetTabsById);
this.notifyParent(Patterns.Tabs.Enum.ChildNotifyActionType.AddHeaderItem);
this.setA11YProperties(false);
this.setCallbacks();
this._setUpEvents();
this.finishBuild();
}
disable() {
this.notifyParent(Patterns.Tabs.Enum.ChildNotifyActionType.DisabledHeaderItem);
}
dispose() {
this.notifyParent(Patterns.Tabs.Enum.ChildNotifyActionType.RemovedHeaderItem);
this._removeEvents();
this.unsetCallbacks();
super.dispose();
}
enable() {
this.notifyParent(Patterns.Tabs.Enum.ChildNotifyActionType.EnabledHeaderItem);
}
getDataTab() {
return this._dataTab;
}
setAriaControlsAttribute(contentItemId) {
OSUI.Helper.A11Y.AriaControls(this.selfElement, contentItemId);
}
setDataTab(dataTab) {
OSUI.Helper.Dom.Attribute.Set(this.selfElement, Patterns.Tabs.Enum.Attributes.DataTab, dataTab.toString());
this._dataTab = dataTab;
}
setFocus() {
this.selfElement.focus();
}
setIsActive() {
if (this.selfElement) {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, Patterns.Tabs.Enum.CssClasses.ActiveTab);
this._isActive = true;
this.setA11YProperties();
}
}
unsetIsActive() {
if (this.selfElement) {
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, Patterns.Tabs.Enum.CssClasses.ActiveTab);
this._isActive = false;
this.setA11YProperties();
}
}
updateOnRender() {
this.notifyParent(Patterns.Tabs.Enum.ChildNotifyActionType.UpdateIndicator);
}
get IsActive() {
return this._isActive;
}
}
TabsHeaderItem_1.TabsHeaderItem = TabsHeaderItem;
})(TabsHeaderItem = Patterns.TabsHeaderItem || (Patterns.TabsHeaderItem = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var TabsHeaderItem;
(function (TabsHeaderItem) {
class TabsHeaderItemConfig extends Patterns.AbstractConfiguration {
constructor(config) {
super(config);
}
}
TabsHeaderItem.TabsHeaderItemConfig = TabsHeaderItemConfig;
})(TabsHeaderItem = Patterns.TabsHeaderItem || (Patterns.TabsHeaderItem = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var TimePicker;
(function (TimePicker) {
class AbstractTimePicker extends Patterns.AbstractProviderPattern {
constructor(uniqueId, configs) {
super(uniqueId, configs);
}
}
TimePicker.AbstractTimePicker = AbstractTimePicker;
})(TimePicker = Patterns.TimePicker || (Patterns.TimePicker = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var TimePicker;
(function (TimePicker) {
class AbstractTimePickerConfig extends Patterns.AbstractProviderConfiguration {
constructor(config) {
super(config);
}
validateDefault(key, value) {
let validatedValue = undefined;
switch (key) {
case TimePicker.Enum.Properties.Is24Hours:
validatedValue = this.validateBoolean(value, true);
break;
case TimePicker.Enum.Properties.InitialTime:
case TimePicker.Enum.Properties.MaxTime:
case TimePicker.Enum.Properties.MinTime:
validatedValue = this.validateTime(value, undefined);
break;
default:
validatedValue = super.validateDefault(key, value);
break;
}
return validatedValue;
}
}
TimePicker.AbstractTimePickerConfig = AbstractTimePickerConfig;
})(TimePicker = Patterns.TimePicker || (Patterns.TimePicker = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var TimePicker;
(function (TimePicker) {
var Enum;
(function (Enum) {
let CssClass;
(function (CssClass) {
CssClass["Dropdown"] = "osui-timepicker__dropdown";
CssClass["Pattern"] = "osui-timepicker";
})(CssClass = Enum.CssClass || (Enum.CssClass = {}));
let TimePickerEvents;
(function (TimePickerEvents) {
TimePickerEvents["OnChange"] = "OnChange";
})(TimePickerEvents = Enum.TimePickerEvents || (Enum.TimePickerEvents = {}));
let Properties;
(function (Properties) {
Properties["InitialTime"] = "InitialTime";
Properties["Is24Hours"] = "Is24Hours";
Properties["MaxTime"] = "MaxTime";
Properties["MinTime"] = "MinTime";
Properties["TimeFormat"] = "TimeFormat";
})(Properties = Enum.Properties || (Enum.Properties = {}));
let Provider;
(function (Provider) {
Provider["FlatPicker"] = "flatpickr";
})(Provider = Enum.Provider || (Enum.Provider = {}));
let TimeFormatMode;
(function (TimeFormatMode) {
TimeFormatMode["Time12hFormat"] = "12";
TimeFormatMode["Time24hFormat"] = "24";
})(TimeFormatMode = Enum.TimeFormatMode || (Enum.TimeFormatMode = {}));
})(Enum = TimePicker.Enum || (TimePicker.Enum = {}));
})(TimePicker = Patterns.TimePicker || (Patterns.TimePicker = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var TimePicker;
(function (TimePicker) {
var Factory;
(function (Factory) {
function NewTimePicker(timePickerId, configs, provider) {
let _timePickerItem = null;
if (provider === TimePicker.Enum.Provider.FlatPicker) {
_timePickerItem = new Providers.OSUI.TimePicker.Flatpickr.OSUIFlatpickrTime(timePickerId, JSON.parse(configs));
}
else {
throw new Error(`There is no ${OSUI.GlobalEnum.PatternName.Timepicker} of the ${provider} provider`);
}
return _timePickerItem;
}
Factory.NewTimePicker = NewTimePicker;
})(Factory = TimePicker.Factory || (TimePicker.Factory = {}));
})(TimePicker = Patterns.TimePicker || (Patterns.TimePicker = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Tooltip;
(function (Tooltip) {
var Enum;
(function (Enum) {
let AriaLabelText;
(function (AriaLabelText) {
AriaLabelText["Content"] = "toggle tooltip";
})(AriaLabelText = Enum.AriaLabelText || (Enum.AriaLabelText = {}));
let CssClass;
(function (CssClass) {
CssClass["Arrow"] = "osui-tooltip__balloon-arrow";
CssClass["BalloonContent"] = "osui-tooltip__balloon-wrapper__balloon";
CssClass["BalloonIsOpened"] = "osui-tooltip__balloon-wrapper--is-open";
CssClass["BalloonIsOpening"] = "osui-tooltip__balloon-wrapper--is-opening";
CssClass["BalloonWrapper"] = "osui-tooltip__balloon-wrapper";
CssClass["Content"] = "osui-tooltip__content";
CssClass["IsHover"] = "osui-tooltip--is-hover";
CssClass["IsOpened"] = "osui-tooltip--is-open";
CssClass["Pattern"] = "osui-tooltip";
})(CssClass = Enum.CssClass || (Enum.CssClass = {}));
let Events;
(function (Events) {
Events["OnToggle"] = "OnToggle";
})(Events = Enum.Events || (Enum.Events = {}));
let InlineCssVariables;
(function (InlineCssVariables) {
InlineCssVariables["Height"] = "--osui-tooltip-height";
InlineCssVariables["Left"] = "--osui-tooltip-left";
InlineCssVariables["Top"] = "--osui-tooltip-top";
InlineCssVariables["Width"] = "--osui-tooltip-width";
})(InlineCssVariables = Enum.InlineCssVariables || (Enum.InlineCssVariables = {}));
let Properties;
(function (Properties) {
Properties["IsHover"] = "IsHover";
Properties["Position"] = "Position";
Properties["StartVisible"] = "StartVisible";
})(Properties = Enum.Properties || (Enum.Properties = {}));
})(Enum = Tooltip.Enum || (Tooltip.Enum = {}));
})(Tooltip = Patterns.Tooltip || (Patterns.Tooltip = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Tooltip;
(function (Tooltip_1) {
class Tooltip extends Patterns.AbstractPattern {
constructor(uniqueId, configs) {
super(uniqueId, new Tooltip_1.TooltipConfig(configs));
this._isBalloonWrapperMouseEnter = false;
this._isIconMouseEnter = false;
this._isOpen = false;
this._isOpenedByApi = false;
}
_balloonOnToggleCallback(_args, e) {
if (e.detail.balloonElem === this._balloonElem && e.detail.isOpen !== this._isOpen) {
this._triggerClose(true);
}
}
_onBalloonClick(e) {
const clickableItems = Array.from(this._tooltipBalloonContentElem.querySelectorAll(OSUI.Constants.FocusableElems + ', ' + OSUI.GlobalEnum.HTMLAttributes.AllowEventPropagation));
let _childHasClickEvent = false;
for (const item of clickableItems) {
if (e.target === item) {
_childHasClickEvent = true;
break;
}
}
if (_childHasClickEvent === false) {
e.stopPropagation();
}
}
_onBalloonWrapperMouseEnter() {
this._isBalloonWrapperMouseEnter = true;
}
_onBalloonWrapperMouseLeave() {
this._isBalloonWrapperMouseEnter = false;
OSUI.Helper.AsyncInvocation(() => {
if (this._isIconMouseEnter === false) {
this._triggerClose();
}
});
}
_onBlur() {
OSUI.Helper.AsyncInvocation(() => {
if (this._tooltipBalloonContentActiveElem) {
this._tooltipBalloonContentActiveElem.removeEventListener(OSUI.GlobalEnum.HTMLEvent.Blur, this._eventOnBlur);
}
const _closestElem = document.activeElement.closest(OSUI.Constants.Dot + Tooltip_1.Enum.CssClass.Pattern);
if (_closestElem !== this.selfElement &&
(_closestElem === null || _closestElem === void 0 ? void 0 : _closestElem.contains(_closestElem.querySelector(OSUI.Constants.AllowPropagationAttr))) === false) {
this._triggerClose();
}
else {
this._tooltipBalloonContentActiveElem = document.activeElement;
this._tooltipBalloonContentActiveElem.addEventListener(OSUI.GlobalEnum.HTMLEvent.Blur, this._eventOnBlur);
}
});
}
_onClick(e) {
e.stopPropagation();
this._triggerOpen();
}
_onFocus() {
this._triggerOpen();
}
_onIconMouseEnter() {
this._isIconMouseEnter = true;
if (this._isOpen === false) {
this._triggerOpen();
}
}
_onIconMouseLeave() {
this._isIconMouseEnter = false;
OSUI.Helper.AsyncInvocation(() => {
if (this._isBalloonWrapperMouseEnter === false) {
this._triggerClose();
}
});
}
_onkeypressCallback(e) {
if ((this._isOpen && e.key === OSUI.GlobalEnum.Keycodes.Escape) || e.key === OSUI.GlobalEnum.Keycodes.Tab) {
this.close();
}
e.stopPropagation();
}
_setBalloonFeature() {
this.setBalloonOptions();
this._balloonFeature = new OSFramework.OSUI.Feature.Balloon.Balloon(this, this._balloonElem, this.balloonOptions);
}
_setCssClasses() {
if (this.configs.IsHover) {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, Tooltip_1.Enum.CssClass.IsHover);
}
if (this.configs.StartVisible) {
this._triggerOpen();
}
}
_setUpEvents() {
if (this.configs.IsHover === false) {
this._tooltipIconElem.addEventListener(OSUI.GlobalEnum.HTMLEvent.Blur, this._eventOnBlur);
this._tooltipIconElem.addEventListener(OSUI.GlobalEnum.HTMLEvent.Focus, this._eventOnFocus);
this._tooltipIconElem.addEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventOnKeypress);
}
if (this.configs.IsHover === false || OSUI.Helper.DeviceInfo.IsDesktop === false) {
this._tooltipBalloonContentElem.addEventListener(OSUI.GlobalEnum.HTMLEvent.Click, this._eventOnBalloonClick);
this._tooltipIconElem.addEventListener(OSUI.GlobalEnum.HTMLEvent.Click, this._eventOnClick);
}
if (this.configs.IsHover && OSUI.Helper.DeviceInfo.IsDesktop === true) {
this._tooltipIconElem.addEventListener(OSUI.GlobalEnum.HTMLEvent.MouseEnter, this._eventIconOnMouseEnter);
this._tooltipIconElem.addEventListener(OSUI.GlobalEnum.HTMLEvent.MouseLeave, this._eventIconOnMouseLeave);
this._tooltipBalloonWrapperElem.addEventListener(OSUI.GlobalEnum.HTMLEvent.MouseEnter, this._eventBalloonWrapperOnMouseEnter);
this._tooltipBalloonWrapperElem.addEventListener(OSUI.GlobalEnum.HTMLEvent.MouseLeave, this._eventBalloonWrapperOnMouseLeave);
}
OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.addHandler(OSUI.Event.DOMEvents.Listeners.Type.BalloonOnToggle, this._eventBalloonOnToggle);
}
_transformPosition(tooltipPosition) {
let _finalPosition;
switch (tooltipPosition) {
case OSUI.GlobalEnum.Position.BottomLeft:
_finalPosition = OSUI.GlobalEnum.FloatingPosition.BottomStart;
break;
case OSUI.GlobalEnum.Position.TopLeft:
_finalPosition = OSUI.GlobalEnum.FloatingPosition.TopStart;
break;
case OSUI.GlobalEnum.Position.BottomRight:
_finalPosition = OSUI.GlobalEnum.FloatingPosition.BottomEnd;
break;
case OSUI.GlobalEnum.Position.TopRight:
_finalPosition = OSUI.GlobalEnum.FloatingPosition.TopEnd;
break;
case OSUI.GlobalEnum.Position.Center:
_finalPosition = OSUI.GlobalEnum.FloatingPosition.Bottom;
break;
default:
_finalPosition = tooltipPosition;
}
return _finalPosition;
}
_triggerClose(isFromBalloonEvent = false) {
if (this._isOpen) {
if (!isFromBalloonEvent) {
this._balloonFeature.close();
}
this._isOpen = false;
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, Tooltip_1.Enum.CssClass.IsOpened);
OSUI.Helper.Dom.Styles.RemoveClass(this._tooltipBalloonWrapperElem, Tooltip_1.Enum.CssClass.BalloonIsOpened);
this.triggerPlatformEventCallback(this._platformEventOnToggleCallback, false);
}
}
_triggerOpen() {
if (this._isOpen === false) {
this._balloonFeature.open(this._isOpenedByApi, OSUI.GlobalEnum.Keycodes.ArrowDown);
this._isOpen = true;
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, Tooltip_1.Enum.CssClass.IsOpened);
OSUI.Helper.Dom.Styles.AddClass(this._tooltipBalloonWrapperElem, Tooltip_1.Enum.CssClass.BalloonIsOpened);
this.triggerPlatformEventCallback(this._platformEventOnToggleCallback, true);
OSUI.Helper.AsyncInvocation(() => {
this._isOpenedByApi = false;
});
}
}
_unsetEvents() {
this._tooltipIconElem.removeEventListener(OSUI.GlobalEnum.HTMLEvent.Click, this._eventOnClick);
this._tooltipIconElem.removeEventListener(OSUI.GlobalEnum.HTMLEvent.Blur, this._eventOnBlur);
this._tooltipIconElem.removeEventListener(OSUI.GlobalEnum.HTMLEvent.Focus, this._eventOnFocus);
this._tooltipIconElem.removeEventListener(OSUI.GlobalEnum.HTMLEvent.keyDown, this._eventOnKeypress);
this._tooltipBalloonContentElem.removeEventListener(OSUI.GlobalEnum.HTMLEvent.Click, this._eventOnBalloonClick);
this._tooltipIconElem.removeEventListener(OSUI.GlobalEnum.HTMLEvent.MouseEnter, this._eventIconOnMouseEnter);
this._tooltipIconElem.removeEventListener(OSUI.GlobalEnum.HTMLEvent.MouseLeave, this._eventIconOnMouseLeave);
this._tooltipBalloonWrapperElem.removeEventListener(OSUI.GlobalEnum.HTMLEvent.MouseEnter, this._eventBalloonWrapperOnMouseEnter);
this._tooltipBalloonWrapperElem.removeEventListener(OSUI.GlobalEnum.HTMLEvent.MouseLeave, this._eventBalloonWrapperOnMouseLeave);
OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.removeHandler(OSUI.Event.DOMEvents.Listeners.Type.BalloonOnToggle, this._eventBalloonOnToggle);
}
_updateIsHover() {
if (this.configs.IsHover) {
OSUI.Helper.Dom.Styles.AddClass(this.selfElement, Tooltip_1.Enum.CssClass.IsHover);
}
else {
OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, Tooltip_1.Enum.CssClass.IsHover);
}
this._unsetEvents();
this._setUpEvents();
}
setA11YProperties() {
OSUI.Helper.A11Y.RoleButton(this._tooltipIconElem);
OSUI.Helper.A11Y.AriaDescribedBy(this._tooltipIconElem, this._tooltipBalloonContentElem.id);
OSUI.Helper.A11Y.TabIndexTrue(this._tooltipIconElem);
OSUI.Helper.A11Y.RoleTooltip(this._tooltipBalloonWrapperElem);
OSUI.Helper.Dom.Attribute.Set(this._tooltipIconElem, OSUI.Constants.FocusableTabIndexDefault, OSUI.Constants.EmptyString);
}
setCallbacks() {
this._eventBalloonOnToggle = this._balloonOnToggleCallback.bind(this);
this._eventOnBalloonClick = this._onBalloonClick.bind(this);
this._eventOnClick = this._onClick.bind(this);
this._eventOnBlur = this._onBlur.bind(this);
this._eventOnFocus = this._onFocus.bind(this);
this._eventOnKeypress = this._onkeypressCallback.bind(this);
this._eventBalloonWrapperOnMouseEnter = this._onBalloonWrapperMouseEnter.bind(this);
this._eventBalloonWrapperOnMouseLeave = this._onBalloonWrapperMouseLeave.bind(this);
this._eventIconOnMouseEnter = this._onIconMouseEnter.bind(this);
this._eventIconOnMouseLeave = this._onIconMouseLeave.bind(this);
}
setHtmlElements() {
this._arrowElem = OSUI.Helper.Dom.ClassSelector(this.selfElement, Tooltip_1.Enum.CssClass.Arrow);
this._tooltipIconElem = OSUI.Helper.Dom.ClassSelector(this.selfElement, Tooltip_1.Enum.CssClass.Content);
this._tooltipBalloonContentElem = OSUI.Helper.Dom.ClassSelector(this.selfElement, Tooltip_1.Enum.CssClass.BalloonContent);
this._tooltipBalloonWrapperElem = OSUI.Helper.Dom.ClassSelector(this.selfElement, Tooltip_1.Enum.CssClass.BalloonWrapper);
this._balloonElem = this._tooltipBalloonWrapperElem;
}
unsetCallbacks() {
this._eventBalloonOnToggle = undefined;
this._eventOnBalloonClick = undefined;
this._eventOnBlur = undefined;
this._eventOnClick = undefined;
this._eventOnFocus = undefined;
this._eventOnKeypress = undefined;
this._eventBalloonWrapperOnMouseEnter = undefined;
this._eventBalloonWrapperOnMouseLeave = undefined;
this._eventIconOnMouseEnter = undefined;
this._eventIconOnMouseLeave = undefined;
}
unsetHtmlElements() {
this._arrowElem = undefined;
this._tooltipIconElem = undefined;
this._tooltipBalloonContentElem = undefined;
this._tooltipBalloonWrapperElem = undefined;
}
build() {
super.build();
this.setCallbacks();
this.setHtmlElements();
this.setA11YProperties();
this._setUpEvents();
this._setBalloonFeature();
this._setCssClasses();
this.finishBuild();
}
changeProperty(propertyName, propertyValue) {
super.changeProperty(propertyName, propertyValue);
if (this.isBuilt) {
switch (propertyName) {
case Tooltip_1.Enum.Properties.IsHover:
this._updateIsHover();
break;
case Tooltip_1.Enum.Properties.StartVisible:
console.warn(`Tooltip (${this.widgetId}): changes to StartOpen parameter do not affect the tooltip. Use the cliend actions 'TooltipOpen' and 'TooltipClose' to affect the Tooltip.`);
break;
case Tooltip_1.Enum.Properties.Position:
if (propertyValue !== OSUI.Constants.EmptyString) {
this._balloonFeature.updatePositionOption(this._transformPosition(propertyValue));
}
break;
}
}
}
close() {
if (this._balloonFeature.isOpen) {
this._triggerClose();
}
}
dispose() {
var _a;
this._unsetEvents();
(_a = this._balloonFeature) === null || _a === void 0 ? void 0 : _a.dispose();
this.unsetCallbacks();
this.unsetHtmlElements();
super.dispose();
}
open() {
if (this._balloonFeature.isOpen === false) {
this._isOpenedByApi = true;
this._triggerOpen();
}
}
registerCallback(eventName, callback) {
switch (eventName) {
case Tooltip_1.Enum.Events.OnToggle:
if (this._platformEventOnToggleCallback === undefined) {
this._platformEventOnToggleCallback = callback;
}
break;
default:
super.registerCallback(eventName, callback);
}
}
setBalloonOptions(balloonOptions) {
if (balloonOptions !== undefined) {
this.balloonOptions = balloonOptions;
}
else {
const _focusOptions = {
useFocus: false,
};
this.balloonOptions = {
alignment: OSUI.GlobalEnum.FloatingAlignment.Start,
anchorElem: this._tooltipIconElem,
arrowElem: this._arrowElem,
allowedPlacements: [
OSUI.GlobalEnum.FloatingPosition.Right,
OSUI.GlobalEnum.FloatingPosition.Top,
OSUI.GlobalEnum.FloatingPosition.Left,
OSUI.GlobalEnum.FloatingPosition.Bottom,
OSUI.GlobalEnum.FloatingPosition.BottomEnd,
OSUI.GlobalEnum.FloatingPosition.BottomStart,
OSUI.GlobalEnum.FloatingPosition.TopEnd,
OSUI.GlobalEnum.FloatingPosition.TopStart,
OSUI.GlobalEnum.FloatingPosition.Center,
],
focusOptions: _focusOptions,
position: this._transformPosition(this.configs.Position),
shape: OSUI.GlobalEnum.ShapeTypes.Sharp,
};
}
}
get IsOpen() {
return this._isOpen;
}
}
Tooltip_1.Tooltip = Tooltip;
})(Tooltip = Patterns.Tooltip || (Patterns.Tooltip = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Tooltip;
(function (Tooltip) {
class TooltipConfig extends Patterns.AbstractConfiguration {
constructor(config) {
super(config);
}
validateCanChange(isBuilt, key) {
if (isBuilt) {
return key !== Tooltip.Enum.Properties.StartVisible;
}
return true;
}
validateDefault(key, value) {
let validatedValue = undefined;
switch (key) {
case Tooltip.Enum.Properties.IsHover:
validatedValue = this.validateBoolean(value, true);
break;
case Tooltip.Enum.Properties.StartVisible:
validatedValue = this.validateBoolean(value, false);
break;
case Tooltip.Enum.Properties.Position:
validatedValue = this.validateInRange(value, OSUI.GlobalEnum.Position.Right, Object.values(OSUI.GlobalEnum.Position));
break;
default:
validatedValue = super.validateDefault(key, value);
break;
}
return validatedValue;
}
}
Tooltip.TooltipConfig = TooltipConfig;
})(Tooltip = Patterns.Tooltip || (Patterns.Tooltip = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var TouchEvents;
(function (TouchEvents) {
var Enum;
(function (Enum) {
let Properties;
(function (Properties) {
})(Properties = Enum.Properties || (Enum.Properties = {}));
let Events;
(function (Events) {
Events["End"] = "End";
Events["Move"] = "Move";
Events["Start"] = "Start";
})(Events = Enum.Events || (Enum.Events = {}));
})(Enum = TouchEvents.Enum || (TouchEvents.Enum = {}));
})(TouchEvents = Patterns.TouchEvents || (Patterns.TouchEvents = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var TouchEvents;
(function (TouchEvents_1) {
class TouchEvents extends Patterns.AbstractPattern {
constructor(uniqueId, configs) {
super(uniqueId, new TouchEvents_1.TouchEventsConfig(configs));
this._startX = 0;
this._startY = 0;
this._currentX = 0;
this._currentY = 0;
this._touchingElement = false;
}
_eventTouchEnd() {
if (this._touchingElement) {
this._touchingElement = false;
this._translateX = this._currentX - this._startX;
this._translateY = this._currentY - this._startY;
this._timeTaken = new Date().getTime() - this._startTime;
this._triggerTouchEnd();
}
}
_eventTouchMove(evt) {
if (this._touchingElement) {
this._currentX = evt.changedTouches[0].pageX;
this._currentY = evt.changedTouches[0].pageY;
this._translateX = this._currentX - this._startX;
this._translateY = this._currentY - this._startY;
this._triggerTouchMove(evt);
}
}
_eventTouchStart(evt) {
this._startTime = new Date().getTime();
this._startX = evt.changedTouches[0].pageX;
this._currentX = this._startX;
this._startY = evt.changedTouches[0].pageY;
this._currentY = this._startY;
this._touchingElement = true;
this._triggerTouchStart();
}
_removeEventListeners() {
if (this._trackableElement) {
this._trackableElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.TouchStart, this._startEvent);
this._trackableElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.TouchMove, this._moveEvent);
this._trackableElement.removeEventListener(OSUI.GlobalEnum.HTMLEvent.TouchEnd, this._endEvent);
}
}
_setEventListeners() {
if (this._trackableElement) {
this._trackableElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.TouchStart, this._startEvent);
this._trackableElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.TouchMove, this._moveEvent);
this._trackableElement.addEventListener(OSUI.GlobalEnum.HTMLEvent.TouchEnd, this._endEvent);
}
}
_triggerTouchEnd() {
if (this._endEventCallback) {
OSUI.Helper.AsyncInvocation(this._endEventCallback, this._currentX, this._currentY, this._translateX, this._translateY, this._timeTaken);
}
}
_triggerTouchMove(event) {
if (this._eventMoveCallback) {
OSUI.Helper.AsyncInvocation(this._eventMoveCallback, this._currentX, this._currentY, this._translateX, this._translateY, event);
}
}
_triggerTouchStart() {
if (this._eventStartCallback) {
OSUI.Helper.AsyncInvocation(this._eventStartCallback, this._startX, this._startY);
}
}
setA11YProperties() {
console.warn(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
setCallbacks() {
this._endEvent = this._eventTouchEnd.bind(this);
this._moveEvent = this._eventTouchMove.bind(this);
this._startEvent = this._eventTouchStart.bind(this);
this._setEventListeners();
}
setHtmlElements() {
this._trackableElement = document.getElementById(this.configs.WidgetId);
}
unsetCallbacks() {
this._removeEventListeners();
this._endEvent = undefined;
this._moveEvent = undefined;
this._startEvent = undefined;
}
unsetHtmlElements() {
this._trackableElement = undefined;
}
build() {
super.build();
this.setHtmlElements();
this.setCallbacks();
this.finishBuild();
}
dispose() {
super.dispose();
this.unsetCallbacks();
this.unsetHtmlElements();
}
registerCallback(eventName, callback) {
switch (eventName) {
case Patterns.TouchEvents.Enum.Events.End:
this._endEventCallback = callback;
break;
case Patterns.TouchEvents.Enum.Events.Move:
this._eventMoveCallback = callback;
break;
case Patterns.TouchEvents.Enum.Events.Start:
this._eventStartCallback = callback;
break;
}
}
}
TouchEvents_1.TouchEvents = TouchEvents;
})(TouchEvents = Patterns.TouchEvents || (Patterns.TouchEvents = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var TouchEvents;
(function (TouchEvents) {
class TouchEventsConfig extends Patterns.AbstractConfiguration {
constructor(config) {
super(config);
}
}
TouchEvents.TouchEventsConfig = TouchEventsConfig;
})(TouchEvents = Patterns.TouchEvents || (Patterns.TouchEvents = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Video;
(function (Video) {
var Enum;
(function (Enum) {
let CssClass;
(function (CssClass) {
CssClass["VideoSource"] = "osui-video-source";
CssClass["VideoTrack"] = "osui-video-track";
})(CssClass = Enum.CssClass || (Enum.CssClass = {}));
let Events;
(function (Events) {
Events["OnStateChanged"] = "StateChanged";
})(Events = Enum.Events || (Enum.Events = {}));
let VideoStates;
(function (VideoStates) {
VideoStates["OnEnded"] = "Ended";
VideoStates["OnPause"] = "Paused";
VideoStates["OnPlaying"] = "Playing";
VideoStates["Unstarted"] = "Unstarted";
})(VideoStates = Enum.VideoStates || (Enum.VideoStates = {}));
let Properties;
(function (Properties) {
Properties["Autoplay"] = "Autoplay";
Properties["Controls"] = "Controls";
Properties["Height"] = "Height";
Properties["Loop"] = "Loop";
Properties["Muted"] = "Muted";
Properties["PosterURL"] = "PosterURL";
Properties["URL"] = "URL";
Properties["Width"] = "Width";
})(Properties = Enum.Properties || (Enum.Properties = {}));
let VideoTags;
(function (VideoTags) {
VideoTags["Source"] = "source";
VideoTags["Track"] = "track";
})(VideoTags = Enum.VideoTags || (Enum.VideoTags = {}));
let VideoAttributes;
(function (VideoAttributes) {
VideoAttributes["Captions"] = "captions";
VideoAttributes["Default"] = "default";
VideoAttributes["Height"] = "height";
VideoAttributes["TypePath"] = "video/";
VideoAttributes["Width"] = "width";
VideoAttributes["Muted"] = "muted";
})(VideoAttributes = Enum.VideoAttributes || (Enum.VideoAttributes = {}));
})(Enum = Video.Enum || (Video.Enum = {}));
})(Video = Patterns.Video || (Patterns.Video = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Video;
(function (Video_1) {
class Video extends Patterns.AbstractPattern {
constructor(uniqueId, configs) {
super(uniqueId, new Video_1.VideoConfig(configs));
}
_setAutoplay() {
this._videoElement.autoplay = this.configs.Autoplay;
if (this.configs.Autoplay && this.configs.Muted === false) {
console.warn(`Some modern browsers will not autoplay your video on ${OSUI.GlobalEnum.PatternName.Video} if it's not muted. The general rule of many browsers is that a user must opt-in to certain actions before they can happen. Set the Muted parameter to True, to start the video automatically.`);
}
}
_setControls() {
this._videoElement.controls = this.configs.Controls;
}
_setHeight() {
if (this.configs.Height !== OSUI.Constants.EmptyString) {
OSUI.Helper.Dom.Attribute.Set(this._videoElement, Patterns.Video.Enum.VideoAttributes.Height, this.configs.Height);
}
else {
OSUI.Helper.Dom.Attribute.Remove(this._videoElement, Patterns.Video.Enum.VideoAttributes.Height);
}
}
_setLoop() {
this._videoElement.loop = this.configs.Loop;
}
_setMuted() {
this._videoElement.muted = this.configs.Muted;
}
_setPosterUrl() {
if (this.configs.PosterURL !== OSUI.Constants.EmptyString) {
this._videoElement.poster = this.configs.PosterURL;
}
else {
this._videoElement.poster = OSUI.Constants.EmptyString;
}
}
_setVideoConfigs() {
this._setAutoplay();
this._setControls();
this._setLoop();
this._setMuted();
this._setPosterUrl();
this._setWidth();
this._setHeight();
if (this._videoElement.currentTime === 0) {
this._triggerOnStateChangedEvent(Patterns.Video.Enum.VideoStates.Unstarted);
}
}
_setVideoSource() {
const _urlFileExtension = OSUI.Helper.URL.GetFileTypeFromURL(this.configs.URL);
if (_urlFileExtension === null) {
console.warn(`The URL '${this.configs.URL}' is not a valid URL.`);
}
OSUI.Helper.Dom.Styles.AddClass(this._videoSourceElement, Patterns.Video.Enum.CssClass.VideoSource);
this._videoSourceElement.src = this.configs.URL;
this._videoSourceElement.type = Patterns.Video.Enum.VideoAttributes.TypePath + _urlFileExtension;
}
_setVideoTrack() {
const captionsList = JSON.parse(this.configs.Captions);
if (captionsList.length > 0) {
for (const item of captionsList) {
const trackElement = document.createElement(Patterns.Video.Enum.VideoTags.Track);
OSUI.Helper.Dom.Styles.AddClass(trackElement, Patterns.Video.Enum.CssClass.VideoTrack);
trackElement.kind = Patterns.Video.Enum.VideoAttributes.Captions;
trackElement.srclang = item.LanguageCode;
trackElement.src = item.SourceFile;
trackElement.label = item.Label;
this.selfElement.appendChild(trackElement);
}
}
}
_setWidth() {
if (this.configs.Width !== OSUI.Constants.EmptyString) {
OSUI.Helper.Dom.Attribute.Set(this._videoElement, Patterns.Video.Enum.VideoAttributes.Width, this.configs.Width);
}
else {
OSUI.Helper.Dom.Attribute.Remove(this._videoElement, Patterns.Video.Enum.VideoAttributes.Width);
}
}
_triggerOnStateChangedEvent(stateChanged) {
if (stateChanged === Patterns.Video.Enum.VideoStates.Unstarted) {
if (this._videoElement.currentTime === 0) {
this.triggerPlatformEventCallback(this._platformEventOnStateChanged.bind(this), stateChanged);
}
}
else {
this.triggerPlatformEventCallback(this._platformEventOnStateChanged.bind(this), stateChanged);
}
this._videoState = stateChanged;
}
setA11YProperties() {
console.log(OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
setCallbacks() {
this._videoElement.onplay = this._triggerOnStateChangedEvent.bind(this, Patterns.Video.Enum.VideoStates.Unstarted);
this._videoElement.onplaying = this._triggerOnStateChangedEvent.bind(this, Patterns.Video.Enum.VideoStates.OnPlaying);
this._videoElement.onpause = this._triggerOnStateChangedEvent.bind(this, Patterns.Video.Enum.VideoStates.OnPause);
this._videoElement.onended = this._triggerOnStateChangedEvent.bind(this, Patterns.Video.Enum.VideoStates.OnEnded);
}
setHtmlElements() {
this._videoElement = this.selfElement;
this._videoSourceElement = document.createElement(Patterns.Video.Enum.VideoTags.Source);
this.selfElement.appendChild(this._videoSourceElement);
this._setVideoSource();
this._setVideoConfigs();
this._setVideoTrack();
}
unsetCallbacks() {
this._platformEventOnStateChanged = undefined;
this._videoElement.onended = undefined;
this._videoElement.onpause = undefined;
this._videoElement.onplay = undefined;
this._videoElement.onplaying = undefined;
}
unsetHtmlElements() {
this._videoElement = undefined;
this._videoSourceElement = undefined;
}
build() {
super.build();
this.setHtmlElements();
this.setCallbacks();
this.finishBuild();
}
changeProperty(propertyName, propertyValue) {
super.changeProperty(propertyName, propertyValue);
if (this.isBuilt) {
switch (propertyName) {
case Video_1.Enum.Properties.Autoplay:
this._setAutoplay();
break;
case Video_1.Enum.Properties.Controls:
this._setControls();
break;
case Video_1.Enum.Properties.Loop:
this._setLoop();
break;
case Video_1.Enum.Properties.Muted:
this._setMuted();
break;
case Video_1.Enum.Properties.PosterURL:
this._setPosterUrl();
break;
case Video_1.Enum.Properties.URL:
this._setVideoSource();
break;
case Video_1.Enum.Properties.Width:
this._setWidth();
break;
case Video_1.Enum.Properties.Height:
this._setHeight();
break;
}
}
}
dispose() {
this.unsetCallbacks();
this.unsetHtmlElements();
super.dispose();
}
get getVideoState() {
return this._videoState;
}
registerCallback(eventName, callback) {
switch (eventName) {
case Patterns.Video.Enum.Events.OnStateChanged:
if (this._platformEventOnStateChanged === undefined) {
this._platformEventOnStateChanged = callback;
}
else {
console.warn(`The ${OSUI.GlobalEnum.PatternName.Video} already has the state changed callback set.`);
}
break;
default:
super.registerCallback(eventName, callback);
}
}
setVideoJumpToTime(currentTime) {
this._videoElement.currentTime = currentTime;
}
setVideoPause() {
this._videoElement.pause();
}
setVideoPlay() {
this._videoElement.play();
}
}
Video_1.Video = Video;
})(Video = Patterns.Video || (Patterns.Video = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var Video;
(function (Video) {
class VideoConfig extends Patterns.AbstractConfiguration {
constructor(config) {
super(config);
}
}
Video.VideoConfig = VideoConfig;
})(Video = Patterns.Video || (Patterns.Video = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
var FloatingPosition;
(function (FloatingPosition) {
var Enum;
(function (Enum) {
let CssCustomProperties;
(function (CssCustomProperties) {
CssCustomProperties["Offset"] = "--osui-floating-offset";
CssCustomProperties["YPosition"] = "--osui-floating-position-y";
CssCustomProperties["XPosition"] = "--osui-floating-position-x";
})(CssCustomProperties = Enum.CssCustomProperties || (Enum.CssCustomProperties = {}));
let Provider;
(function (Provider) {
Provider["FloatingUI"] = "FloatingUI";
})(Provider = Enum.Provider || (Enum.Provider = {}));
})(Enum = FloatingPosition.Enum || (FloatingPosition.Enum = {}));
})(FloatingPosition = Utils.FloatingPosition || (Utils.FloatingPosition = {}));
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
var FloatingPosition;
(function (FloatingPosition_1) {
class FloatingPosition {
constructor(options) {
this.floatingConfigs = options;
this.build();
}
getOffsetValue() {
return parseInt(getComputedStyle(this.floatingConfigs.AnchorElem).getPropertyValue(FloatingPosition_1.Enum.CssCustomProperties.Offset));
}
build() {
this.setFloatingPosition();
this.isBuilt = true;
}
dispose() {
this.isBuilt = false;
}
update(options) {
this.floatingConfigs = options;
this.setFloatingPosition();
}
}
FloatingPosition_1.FloatingPosition = FloatingPosition;
})(FloatingPosition = Utils.FloatingPosition || (Utils.FloatingPosition = {}));
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
var FloatingPosition;
(function (FloatingPosition) {
class FloatingPositionConfig {
}
FloatingPosition.FloatingPositionConfig = FloatingPositionConfig;
})(FloatingPosition = Utils.FloatingPosition || (Utils.FloatingPosition = {}));
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OSFramework;
(function (OSFramework) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
var FloatingPosition;
(function (FloatingPosition) {
var Factory;
(function (Factory) {
function NewFloatingPosition(configs, provider) {
let _floatingPositionItem = null;
switch (provider) {
case FloatingPosition.Enum.Provider.FloatingUI:
_floatingPositionItem = new Providers.OSUI.Utils.FloatingUI(configs);
break;
default:
throw new Error(`There is no FloatingPosition of the ${provider} provider`);
}
return _floatingPositionItem;
}
Factory.NewFloatingPosition = NewFloatingPosition;
})(Factory = FloatingPosition.Factory || (FloatingPosition.Factory = {}));
})(FloatingPosition = Utils.FloatingPosition || (Utils.FloatingPosition = {}));
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OSFramework.OSUI || (OSFramework.OSUI = {}));
})(OSFramework || (OSFramework = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var ErrorCodes;
(function (ErrorCodes) {
ErrorCodes.Success = {
code: '200',
message: 'Success',
};
ErrorCodes.Dropdown = {
FailChangeProperty: 'OSUI-API-01001',
FailClear: 'OSUI-API-01002',
FailClose: 'OSUI-API-010014',
FailDisable: 'OSUI-API-01003',
FailDispose: 'OSUI-API-01004',
FailEnable: 'OSUI-API-01005',
FailGetSelectedValues: 'OSUI-API-01006',
FailOpen: 'OSUI-API-010015',
FailRegisterCallback: 'OSUI-API-01007',
FailRegisterProviderConfig: 'OSUI-API-01009',
FailRegisterProviderEvent: 'OSUI-API-060010',
FailRemoveProviderEvent: 'OSUI-API-06011',
FailSetValidation: 'OSUI-API-01008',
FailSetValues: 'OSUI-API-06012',
FailTogglePopup: 'OSUI-API-01013',
};
ErrorCodes.Notification = {
FailChangeProperty: 'OSUI-API-02001',
FailDispose: 'OSUI-API-02002',
FailHide: 'OSUI-API-02003',
FailRegisterCallback: 'OSUI-API-02004',
FailShow: 'OSUI-API-02005',
};
ErrorCodes.SectionIndex = {
FailChangeProperty: 'OSUI-API-03001',
FailDisable: 'OSUI-API-03002',
FailDispose: 'OSUI-API-03003',
FailEnable: 'OSUI-API-03004',
FailRegisterCallback: 'OSUI-API-03005',
};
ErrorCodes.Accordion = {
FailChangeProperty: 'OSUI-API-04001',
FailCollapseAll: 'OSUI-API-04002',
FailDispose: 'OSUI-API-04003',
FailExpandAll: 'OSUI-API-04004',
FailRegisterCallback: 'OSUI-API-04005',
};
ErrorCodes.AccordionItem = {
FailAllowTitleEvents: 'OSUI-API-05001',
FailChangeProperty: 'OSUI-API-05002',
FailCollapseItem: 'OSUI-API-05003',
FailDispose: 'OSUI-API-05004',
FailExpandItem: 'OSUI-API-05005',
FailRegisterCallback: 'OSUI-API-05006',
};
ErrorCodes.Carousel = {
FailChangeProperty: 'OSUI-API-06001',
FailDispose: 'OSUI-API-06002',
FailDirection: 'OSUI-API-06003',
FailGoTo: 'OSUI-API-06004',
FailNext: 'OSUI-API-06005',
FailPrevious: 'OSUI-API-06006',
FailRegisterCallback: 'OSUI-API-06007',
FailToggleDrag: 'OSUI-API-06008',
FailUpdate: 'OSUI-API-06009',
FailRegisterProviderConfig: 'OSUI-API-06010',
FailRegisterProviderEvent: 'OSUI-API-06011',
FailRemoveProviderEvent: 'OSUI-API-06012',
FailEnableOnRender: 'OSUI-API-06013',
FailDisableOnRender: 'OSUI-API-06014',
};
ErrorCodes.DatePicker = {
FailChangeProperty: 'OSUI-API-07001',
FailClear: 'OSUI-API-07002',
FailClose: 'OSUI-API-07003',
FailDisableDays: 'OSUI-API-07011',
FailDisableWeekDays: 'OSUI-API-07012',
FailDispose: 'OSUI-API-07004',
FailOpen: 'OSUI-API-07005',
FailRedraw: 'OSUI-API-07006',
FailRegisterCallback: 'OSUI-API-07007',
FailRegisterProviderConfig: 'OSUI-API-07008',
FailRegisterProviderEvent: 'OSUI-API-07009',
FailRemoveProviderEvent: 'OSUI-API-07010',
FailSetEditableInput: 'OSUI-API-07013',
FailSetLanguage: 'OSUI-API-07014',
FailToggleNativeBehavior: 'OSUI-API-07015',
FailUpdateInitialDate: 'OSUI-API-07016',
FailUpdatePrompt: 'OSUI-API-07017',
FailOnRender: 'OSUI-API-07018',
};
ErrorCodes.FlipContent = {
FailChangeProperty: 'OSUI-API-08001',
FailDispose: 'OSUI-API-08002',
FailRegisterCallback: 'OSUI-API-08003',
FailShowBack: 'OSUI-API-08004',
FailShowFront: 'OSUI-API-08005',
FailToggle: 'OSUI-API-08006',
};
ErrorCodes.Progress = {
FailChangeProperty: 'OSUI-API-09001',
FailDispose: 'OSUI-API-09002',
FailProgressValue: 'OSUI-API-09003',
FailProgressReset: 'OSUI-API-09004',
FailtProgressGradient: 'OSUI-API-09005',
FailRegisterCallback: 'OSUI-API-09006',
};
ErrorCodes.RangeSlider = {
FailChangeProperty: 'OSUI-API-10001',
FailDispose: 'OSUI-API-10002',
FailOnDragEnd: 'OSUI-API-10003',
FailRegisterCallback: 'OSUI-API-10004',
FailSetValues: 'OSUI-API-10005',
FailResetValues: 'OSUI-API-10006',
FailRegisterProviderConfig: 'OSUI-API-10007',
FailRegisterProviderEvent: 'OSUI-API-10008',
FailRemoveProviderEvent: 'OSUI-API-10009',
FailEnable: 'OSUI-API-10010',
FailDisable: 'OSUI-API-10011',
};
ErrorCodes.Sidebar = {
FailChangeProperty: 'OSUI-API-11001',
FailClose: 'OSUI-API-11002',
FailDispose: 'OSUI-API-11003',
FailOpen: 'OSUI-API-11004',
FailRegisterCallback: 'OSUI-API-11005',
FailToggleSwipe: 'OSUI-API-11006',
FailClickOutsideToClose: 'OSUI-API-11007',
};
ErrorCodes.Submenu = {
FailChangeProperty: 'OSUI-API-12001',
FailClose: 'OSUI-API-12002',
FailDispose: 'OSUI-API-12003',
FailOpen: 'OSUI-API-12004',
FailOpenOnHover: 'OSUI-API-12005',
FailRegisterCallback: 'OSUI-API-12006',
FailUpdate: 'OSUI-API-12007',
FailClickOutsideToClose: 'OSUI-API-12008',
};
ErrorCodes.Tooltip = {
FailChangeProperty: 'OSUI-API-13001',
FailClose: 'OSUI-API-13002',
FailDispose: 'OSUI-API-13003',
FailOpen: 'OSUI-API-13004',
FailRegisterCallback: 'OSUI-GEN-13005',
};
ErrorCodes.AnimatedLabel = {
FailChangeProperty: 'OSUI-API-14001',
FailDispose: 'OSUI-API-14002',
FailRegisterCallback: 'OSUI-API-14004',
FailUpdate: 'OSUI-API-14003',
};
ErrorCodes.ButtonLoading = {
FailChangeProperty: 'OSUI-API-15001',
FailDispose: 'OSUI-API-15002',
FailRegisterCallback: 'OSUI-API-15003',
};
ErrorCodes.DropdownServerSideItem = {
FailChangeProperty: 'OSUI-API-16001',
FailDispose: 'OSUI-API-16002',
FailRegisterCallback: 'OSUI-API-16003',
};
ErrorCodes.FloatingActions = {
FailChangeProperty: 'OSUI-API-17001',
FailDispose: 'OSUI-API-17002',
FailRegisterCallback: 'OSUI-API-17003',
};
ErrorCodes.Gallery = {
FailChangeProperty: 'OSUI-API-18001',
FailDispose: 'OSUI-API-18002',
FailRegisterCallback: 'OSUI-API-18003',
};
ErrorCodes.Rating = {
FailChangeProperty: 'OSUI-API-19001',
FailDispose: 'OSUI-API-19002',
FailRegisterCallback: 'OSUI-API-19003',
FailEnable: 'OSUI-API-19004',
FailDisable: 'OSUI-API-19005',
};
ErrorCodes.Search = {
FailChangeProperty: 'OSUI-API-20001',
FailDispose: 'OSUI-API-20002',
FailRegisterCallback: 'OSUI-API-20003',
};
ErrorCodes.SectionIndexItem = {
FailChangeProperty: 'OSUI-API-21001',
FailDispose: 'OSUI-API-21002',
FailRegisterCallback: 'OSUI-API-21003',
};
ErrorCodes.Tabs = {
FailChangeProperty: 'OSUI-API-22001',
FailDispose: 'OSUI-API-22002',
FailRegisterCallback: 'OSUI-API-22003',
FailSetActive: 'OSUI-API-22004',
FailToggleSwipe: 'OSUI-API-22005',
};
ErrorCodes.TabsContentItem = {
FailChangeProperty: 'OSUI-API-23001',
FailDispose: 'OSUI-API-23002',
FailRegisterCallback: 'OSUI-API-23003',
};
ErrorCodes.TabsHeaderItem = {
FailChangeProperty: 'OSUI-API-24001',
FailDisableTabHeader: 'OSUI-API-24002',
FailDispose: 'OSUI-API-24003',
FailEnableTabHeader: 'OSUI-API-24004',
FailRegisterCallback: 'OSUI-API-24006',
FailUpdate: 'OSUI-API-24005',
};
ErrorCodes.BottomSheet = {
FailChangeProperty: 'OSUI-API-25001',
FailDispose: 'OSUI-API-25002',
FailRegisterCallback: 'OSUI-API-25003',
FailOpen: 'OSUI-API-25004',
FailClose: 'OSUI-API-25005',
};
ErrorCodes.TimePicker = {
FailChangeProperty: 'OSUI-API-26001',
FailClear: 'OSUI-API-26002',
FailClose: 'OSUI-API-26003',
FailDispose: 'OSUI-API-26004',
FailOpen: 'OSUI-API-26005',
FailRedraw: 'OSUI-API-26006',
FailRegisterCallback: 'OSUI-API-26007',
FailRegisterProviderConfig: 'OSUI-API-26008',
FailRegisterProviderEvent: 'OSUI-API-26009',
FailRemoveProviderEvent: 'OSUI-API-26010',
FailToggleNativeBehavior: 'OSUI-API-26011',
FailSetLanguage: 'OSUI-API-26012',
FailUpdateInitialTime: 'OSUI-API-26013',
FailSetEditableInput: 'OSUI-API-26014',
FailUpdatePrompt: 'OSUI-API-26015',
FailOnRender: 'OSUI-API-26016',
};
ErrorCodes.MonthPicker = {
FailChangeProperty: 'OSUI-API-27001',
FailClear: 'OSUI-API-27002',
FailClose: 'OSUI-API-27003',
FailDispose: 'OSUI-API-27004',
FailOpen: 'OSUI-API-27005',
FailRedraw: 'OSUI-API-27006',
FailRegisterCallback: 'OSUI-API-27007',
FailRegisterProviderConfig: 'OSUI-API-27008',
FailRegisterProviderEvent: 'OSUI-API-27009',
FailRemoveProviderEvent: 'OSUI-API-27010',
FailSetEditableInput: 'OSUI-API-27011',
FailSetLanguage: 'OSUI-API-27012',
FailUpdateInitialMonth: 'OSUI-API-27013',
FailUpdatePrompt: 'OSUI-API-27014',
FailOnRender: 'OSUI-API-27015',
};
ErrorCodes.Utilities = {
FailGetInvalidInput: 'OSUI-API-28001',
FailScrollToElement: 'OSUI-API-28002',
FailSetFocus: 'OSUI-API-28003',
FailAddFavicon: 'OSUI-API-28004',
FailMoveElement: 'OSUI-API-28005',
FailSetActiveElement: 'OSUI-API-28006',
FailSetSelectedRow: 'OSUI-API-28007',
FailShowPassword: 'OSUI-API-28008',
FailMasterDetailSetContentFocus: 'OSUI-API-28009',
FailSetAccessibilityRole: 'OSUI-API-28010',
FailSetAriaHidden: 'OSUI-API-28011',
FailSetLang: 'OSUI-API-28012',
FailSkipToContent: 'OSUI-API-28013',
FailToggleTextSpacing: 'OSUI-API-28014',
FailSetActiveMenuItems: 'OSUI-API-28015',
FailSetBottomBarActiveElement: 'OSUI-API-28016',
FailSetMenuAttributes: 'OSUI-API-28017',
FailSetMenuIcon: 'OSUI-API-28018',
FailSetMenuIconListeners: 'OSUI-API-28019',
FailSetMenuListeners: 'OSUI-API-28020',
FailToggleSideMenu: 'OSUI-API-28021',
FailListItemAnimate: 'OSUI-API-28022',
FailCheckIsMenuDraggable: 'OSUI-API-28023',
FailSetExtendedMenuHide: 'OSUI-API-28024',
FailSetExtendedMenuShow: 'OSUI-API-28025',
FailCheckIsRTL: 'OSUI-API-28026',
FailSetMenuOnReady: 'OSUI-API-28027',
FailSetMenuOnDestroy: 'OSUI-API-28028',
};
ErrorCodes.InlineSvg = {
FailChangeProperty: 'OSUI-API-29001',
FailDispose: 'OSUI-API-29002',
FailRegisterCallback: 'OSUI-API-29003',
};
ErrorCodes.OverflowMenu = {
FailChangeProperty: 'OSUI-API-30001',
FailDispose: 'OSUI-API-30002',
FailRegisterCallback: 'OSUI-API-30003',
FailOpen: 'OSUI-API-30004',
FailClose: 'OSUI-API-30005',
FailEnable: 'OSUI-API-30006',
FailDisable: 'OSUI-API-30007',
};
ErrorCodes.Video = {
FailChangeProperty: 'OSUI-API-31001',
FailDispose: 'OSUI-API-31002',
FailRegisterCallback: 'OSUI-API-31003',
FailGetState: 'OSUI-API-31004',
FailPause: 'OSUI-API-31005',
FailPlay: 'OSUI-API-31006',
FailSetTime: 'OSUI-API-31007',
};
ErrorCodes.Legacy = {
FailAddFavicon_Legacy: 'OSUI-LEG-000001',
MoveElement_Legacy: 'OSUI-LEG-000002',
MasterDetailSetContentFocus_Legacy: 'OSUI-LEG-000003',
SetAccessibilityRole_Legacy: 'OSUI-LEG-000004',
SetAriaHidden_Legacy: 'OSUI-LEG-000005',
SetFocus_Legacy: 'OSUI-LEG-000006',
SetLang_Legacy: 'OSUI-LEG-000007',
SkipToContent_Legacy: 'OSUI-LEG-000008',
ToggleTextSpacing_Legacy: 'OSUI-LEG-000009',
};
})(ErrorCodes = OSUI.ErrorCodes || (OSUI.ErrorCodes = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
function GetVersion() {
return OSFramework.OSUI.Constants.OSUIVersion;
}
OSUI.GetVersion = GetVersion;
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var AccordionAPI;
(function (AccordionAPI) {
const _accordionMap = new Map();
function ChangeProperty(accordionId, propertyName, propertyValue) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Accordion.FailChangeProperty,
callback: () => {
const accordion = GetAccordionById(accordionId);
accordion.changeProperty(propertyName, propertyValue);
},
});
return result;
}
AccordionAPI.ChangeProperty = ChangeProperty;
function CollapseAllItems(accordionId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Accordion.FailCollapseAll,
callback: () => {
const accordion = GetAccordionById(accordionId);
accordion.collapseAllItems();
},
});
return result;
}
AccordionAPI.CollapseAllItems = CollapseAllItems;
function Create(accordionId, configs) {
if (_accordionMap.has(accordionId)) {
throw new Error(`There is already a ${OSFramework.OSUI.GlobalEnum.PatternName.Accordion} registered under id: ${accordionId}`);
}
const _newAccordion = new OSFramework.OSUI.Patterns.Accordion.Accordion(accordionId, JSON.parse(configs));
_accordionMap.set(accordionId, _newAccordion);
return _newAccordion;
}
AccordionAPI.Create = Create;
function Dispose(accordionId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Accordion.FailDispose,
callback: () => {
const accordion = GetAccordionById(accordionId);
accordion.dispose();
_accordionMap.delete(accordion.uniqueId);
},
});
return result;
}
AccordionAPI.Dispose = Dispose;
function ExpandAllItems(accordionId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Accordion.FailExpandAll,
callback: () => {
const accordion = GetAccordionById(accordionId);
accordion.expandAllItems();
},
});
return result;
}
AccordionAPI.ExpandAllItems = ExpandAllItems;
function GetAllAccordions() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_accordionMap);
}
AccordionAPI.GetAllAccordions = GetAllAccordions;
function GetAccordionById(AccordionId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap('Accordion', AccordionId, _accordionMap);
}
AccordionAPI.GetAccordionById = GetAccordionById;
function Initialize(accordionId) {
const accordion = GetAccordionById(accordionId);
accordion.build();
return accordion;
}
AccordionAPI.Initialize = Initialize;
function RegisterCallback(accordionId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Accordion.FailRegisterCallback,
callback: () => {
const accordion = GetAccordionById(accordionId);
accordion.registerCallback(eventName, callback);
},
});
return result;
}
AccordionAPI.RegisterCallback = RegisterCallback;
})(AccordionAPI = Patterns.AccordionAPI || (Patterns.AccordionAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var AccordionItemAPI;
(function (AccordionItemAPI) {
const _accordionItemMap = new Map();
function AllowTitleEvents(accordionItemId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.AccordionItem.FailAllowTitleEvents,
callback: () => {
const accordionItem = GetAccordionItemById(accordionItemId);
accordionItem.allowTitleEvents();
},
});
return result;
}
AccordionItemAPI.AllowTitleEvents = AllowTitleEvents;
function ChangeProperty(accordionItemId, propertyName, propertyValue) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.AccordionItem.FailChangeProperty,
callback: () => {
const accordionItem = GetAccordionItemById(accordionItemId);
accordionItem.changeProperty(propertyName, propertyValue);
},
});
return result;
}
AccordionItemAPI.ChangeProperty = ChangeProperty;
function Collapse(accordionItemId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.AccordionItem.FailCollapseItem,
callback: () => {
const accordionItem = GetAccordionItemById(accordionItemId);
accordionItem.close();
},
});
return result;
}
AccordionItemAPI.Collapse = Collapse;
function Create(accordionItemId, configs) {
if (_accordionItemMap.has(accordionItemId)) {
throw new Error(`There is already a ${OSFramework.OSUI.GlobalEnum.PatternName.AccordionItem} registered under id: ${accordionItemId}`);
}
const _newAccordionItem = new OSFramework.OSUI.Patterns.AccordionItem.AccordionItem(accordionItemId, JSON.parse(configs));
_accordionItemMap.set(accordionItemId, _newAccordionItem);
return _newAccordionItem;
}
AccordionItemAPI.Create = Create;
function Dispose(accordionItemId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.AccordionItem.FailDispose,
callback: () => {
const accordionItem = GetAccordionItemById(accordionItemId);
accordionItem.dispose();
_accordionItemMap.delete(accordionItem.uniqueId);
},
});
return result;
}
AccordionItemAPI.Dispose = Dispose;
function Expand(accordionItemId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.AccordionItem.FailExpandItem,
callback: () => {
const accordionItem = GetAccordionItemById(accordionItemId);
accordionItem.open();
},
});
return result;
}
AccordionItemAPI.Expand = Expand;
function GetAllAccordionItems() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_accordionItemMap);
}
AccordionItemAPI.GetAllAccordionItems = GetAllAccordionItems;
function GetAccordionItemById(accordionItemId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap('AccordionItem', accordionItemId, _accordionItemMap);
}
AccordionItemAPI.GetAccordionItemById = GetAccordionItemById;
function Initialize(accordionItemId) {
const accordionItem = GetAccordionItemById(accordionItemId);
accordionItem.build();
return accordionItem;
}
AccordionItemAPI.Initialize = Initialize;
function RegisterCallback(accordionItemId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.AccordionItem.FailRegisterCallback,
callback: () => {
const accordionItem = GetAccordionItemById(accordionItemId);
accordionItem.registerCallback(eventName, callback);
},
});
return result;
}
AccordionItemAPI.RegisterCallback = RegisterCallback;
function ToggleClickableZone(accordionItemId, isIconOnly) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.AccordionItem.FailRegisterCallback,
callback: () => {
const accordionItem = GetAccordionItemById(accordionItemId);
accordionItem.changeProperty(OSFramework.OSUI.Patterns.AccordionItem.Enum.Properties.ToggleWithIcon, isIconOnly);
},
});
return result;
}
AccordionItemAPI.ToggleClickableZone = ToggleClickableZone;
})(AccordionItemAPI = Patterns.AccordionItemAPI || (Patterns.AccordionItemAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var AnimatedLabelAPI;
(function (AnimatedLabelAPI) {
const _animatedLabelsMap = new Map();
function ChangeProperty(animatedLabelId, propertyName, propertyValue) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.AnimatedLabel.FailChangeProperty,
callback: () => {
const animatedlabel = GetAnimatedLabelById(animatedLabelId);
animatedlabel.changeProperty(propertyName, propertyValue);
},
});
return result;
}
AnimatedLabelAPI.ChangeProperty = ChangeProperty;
function Create(animatedLabelId, configs) {
if (_animatedLabelsMap.has(animatedLabelId)) {
throw new Error(`There is already an ${OSFramework.OSUI.GlobalEnum.PatternName.AnimatedLabel} registered under id: ${animatedLabelId}`);
}
const _newAnimatedLabel = new OSFramework.OSUI.Patterns.AnimatedLabel.AnimatedLabel(animatedLabelId, JSON.parse(configs));
_animatedLabelsMap.set(animatedLabelId, _newAnimatedLabel);
return _newAnimatedLabel;
}
AnimatedLabelAPI.Create = Create;
function Dispose(animatedLabelId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.AnimatedLabel.FailDispose,
callback: () => {
const animatedlabel = GetAnimatedLabelById(animatedLabelId);
animatedlabel.dispose();
_animatedLabelsMap.delete(animatedlabel.uniqueId);
},
});
return result;
}
AnimatedLabelAPI.Dispose = Dispose;
function GetAllAnimatedLabels() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_animatedLabelsMap);
}
AnimatedLabelAPI.GetAllAnimatedLabels = GetAllAnimatedLabels;
function GetAnimatedLabelById(animatedLabelId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap(OSFramework.OSUI.GlobalEnum.PatternName.AnimatedLabel, animatedLabelId, _animatedLabelsMap);
}
AnimatedLabelAPI.GetAnimatedLabelById = GetAnimatedLabelById;
function Initialize(animatedLabelId) {
const animatedlabel = GetAnimatedLabelById(animatedLabelId);
animatedlabel.build();
return animatedlabel;
}
AnimatedLabelAPI.Initialize = Initialize;
function RegisterCallback(dropdownId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.AnimatedLabel.FailRegisterCallback,
callback: () => {
const animatedlabel = this.GetAnimatedLabelById(dropdownId);
animatedlabel.registerCallback(eventName, callback);
},
});
return result;
}
AnimatedLabelAPI.RegisterCallback = RegisterCallback;
function UpdateOnRender(animatedLabelId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.AnimatedLabel.FailUpdate,
callback: () => {
const animatedlabel = GetAnimatedLabelById(animatedLabelId);
animatedlabel.updateOnRender();
},
});
return result;
}
AnimatedLabelAPI.UpdateOnRender = UpdateOnRender;
})(AnimatedLabelAPI = Patterns.AnimatedLabelAPI || (Patterns.AnimatedLabelAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var BottomSheetAPI;
(function (BottomSheetAPI) {
const _bottomSheetItemsMap = new Map();
function ChangeProperty(bottomSheetId, propertyName, propertyValue) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.BottomSheet.FailChangeProperty,
callback: () => {
const _bottomSheetItem = GetBottomSheetItemById(bottomSheetId);
_bottomSheetItem.changeProperty(propertyName, propertyValue);
},
});
return result;
}
BottomSheetAPI.ChangeProperty = ChangeProperty;
function Create(bottomSheetId, configs) {
if (_bottomSheetItemsMap.has(bottomSheetId)) {
throw new Error('There is already an BottomSheet registered under id: ' + bottomSheetId);
}
const _bottomSheetItem = new OSFramework.OSUI.Patterns.BottomSheet.BottomSheet(bottomSheetId, JSON.parse(configs));
_bottomSheetItemsMap.set(bottomSheetId, _bottomSheetItem);
return _bottomSheetItem;
}
BottomSheetAPI.Create = Create;
function Dispose(bottomSheetId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.BottomSheet.FailDispose,
callback: () => {
const _bottomSheetItem = GetBottomSheetItemById(bottomSheetId);
_bottomSheetItem.dispose();
_bottomSheetItemsMap.delete(_bottomSheetItem.uniqueId);
},
});
return result;
}
BottomSheetAPI.Dispose = Dispose;
function GetAllBottomSheetItemsMap() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_bottomSheetItemsMap);
}
BottomSheetAPI.GetAllBottomSheetItemsMap = GetAllBottomSheetItemsMap;
function GetBottomSheetItemById(bottomSheetId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap('BottomSheet', bottomSheetId, _bottomSheetItemsMap);
}
BottomSheetAPI.GetBottomSheetItemById = GetBottomSheetItemById;
function Initialize(bottomSheetId) {
const _bottomSheetItem = GetBottomSheetItemById(bottomSheetId);
_bottomSheetItem.build();
return _bottomSheetItem;
}
BottomSheetAPI.Initialize = Initialize;
function Open(bottomSheetId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.BottomSheet.FailOpen,
callback: () => {
const _bottomSheetItem = GetBottomSheetItemById(bottomSheetId);
_bottomSheetItem.open();
},
});
return result;
}
BottomSheetAPI.Open = Open;
function Close(bottomSheetId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.BottomSheet.FailClose,
callback: () => {
const _bottomSheetItem = GetBottomSheetItemById(bottomSheetId);
_bottomSheetItem.close();
},
});
return result;
}
BottomSheetAPI.Close = Close;
function RegisterCallback(bottomSheetId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.BottomSheet.FailRegisterCallback,
callback: () => {
const bottomSheet = GetBottomSheetItemById(bottomSheetId);
bottomSheet.registerCallback(eventName, callback);
},
});
return result;
}
BottomSheetAPI.RegisterCallback = RegisterCallback;
})(BottomSheetAPI = Patterns.BottomSheetAPI || (Patterns.BottomSheetAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var ButtonLoadingAPI;
(function (ButtonLoadingAPI) {
const _buttonsLoadingMap = new Map();
function ChangeProperty(buttonLoadingId, propertyName, propertyValue) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.ButtonLoading.FailChangeProperty,
callback: () => {
const buttonLoading = GetButtonLoadingById(buttonLoadingId);
buttonLoading.changeProperty(propertyName, propertyValue);
},
});
return result;
}
ButtonLoadingAPI.ChangeProperty = ChangeProperty;
function Create(buttonLoadingId, configs) {
if (_buttonsLoadingMap.has(buttonLoadingId)) {
throw new Error(`There is already a ${OSFramework.OSUI.GlobalEnum.PatternName.ButtonLoading} registered under id: ${buttonLoadingId}`);
}
const _newButtonLoading = new OSFramework.OSUI.Patterns.ButtonLoading.ButtonLoading(buttonLoadingId, JSON.parse(configs));
_buttonsLoadingMap.set(buttonLoadingId, _newButtonLoading);
return _newButtonLoading;
}
ButtonLoadingAPI.Create = Create;
function Dispose(buttonLoadingId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.ButtonLoading.FailDispose,
callback: () => {
const buttonLoading = GetButtonLoadingById(buttonLoadingId);
buttonLoading.dispose();
_buttonsLoadingMap.delete(buttonLoading.uniqueId);
},
});
return result;
}
ButtonLoadingAPI.Dispose = Dispose;
function GetAllButtonsLoading() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_buttonsLoadingMap);
}
ButtonLoadingAPI.GetAllButtonsLoading = GetAllButtonsLoading;
function GetButtonLoadingById(buttonLoadingId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap(OSFramework.OSUI.GlobalEnum.PatternName.ButtonLoading, buttonLoadingId, _buttonsLoadingMap);
}
ButtonLoadingAPI.GetButtonLoadingById = GetButtonLoadingById;
function Initialize(buttonLoadingId) {
const buttonLoading = GetButtonLoadingById(buttonLoadingId);
buttonLoading.build();
return buttonLoading;
}
ButtonLoadingAPI.Initialize = Initialize;
function RegisterCallback(dropdownId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.ButtonLoading.FailRegisterCallback,
callback: () => {
const buttonLoading = this.GetButtonLoadingById(dropdownId);
buttonLoading.registerCallback(eventName, callback);
},
});
return result;
}
ButtonLoadingAPI.RegisterCallback = RegisterCallback;
})(ButtonLoadingAPI = Patterns.ButtonLoadingAPI || (Patterns.ButtonLoadingAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var CarouselAPI;
(function (CarouselAPI) {
const _carouselItemsMap = new Map();
function CarouselEnableOnRender(carouselId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Carousel.FailEnableOnRender,
callback: () => {
const carousel = GetCarouselItemById(carouselId);
carousel.toggleOnRender(false);
},
});
return result;
}
CarouselAPI.CarouselEnableOnRender = CarouselEnableOnRender;
function CarouselDisableOnRender(carouselId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Carousel.FailDisableOnRender,
callback: () => {
const carousel = GetCarouselItemById(carouselId);
carousel.toggleOnRender(true);
},
});
return result;
}
CarouselAPI.CarouselDisableOnRender = CarouselDisableOnRender;
function ChangeProperty(carouselId, propertyName, propertyValue) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Carousel.FailChangeProperty,
callback: () => {
const _carouselItem = GetCarouselItemById(carouselId);
_carouselItem.changeProperty(propertyName, propertyValue);
},
});
return result;
}
CarouselAPI.ChangeProperty = ChangeProperty;
function Create(carouselId, configs, provider) {
if (_carouselItemsMap.has(carouselId)) {
throw new Error(`There is already an ${OSFramework.OSUI.GlobalEnum.PatternName.Carousel} registered under id: ${carouselId}`);
}
const _carouselItem = OSFramework.OSUI.Patterns.Carousel.Factory.NewCarousel(carouselId, configs, provider);
_carouselItemsMap.set(carouselId, _carouselItem);
return _carouselItem;
}
CarouselAPI.Create = Create;
function Dispose(carouselId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Carousel.FailDispose,
callback: () => {
const _carouselItem = GetCarouselItemById(carouselId);
_carouselItem.dispose();
_carouselItemsMap.delete(_carouselItem.uniqueId);
},
});
return result;
}
CarouselAPI.Dispose = Dispose;
function GetAllCarouselItemsMap() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_carouselItemsMap);
}
CarouselAPI.GetAllCarouselItemsMap = GetAllCarouselItemsMap;
function GetCarouselItemById(carouselId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap('Carousel', carouselId, _carouselItemsMap);
}
CarouselAPI.GetCarouselItemById = GetCarouselItemById;
function GoTo(carouselId, index) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Carousel.FailGoTo,
callback: () => {
const carousel = GetCarouselItemById(carouselId);
carousel.goTo(index);
},
});
return result;
}
CarouselAPI.GoTo = GoTo;
function Initialize(carouselId) {
const _carouselItem = GetCarouselItemById(carouselId);
_carouselItem.build();
return _carouselItem;
}
CarouselAPI.Initialize = Initialize;
function Next(carouselId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Carousel.FailNext,
callback: () => {
const carousel = GetCarouselItemById(carouselId);
carousel.next();
},
});
return result;
}
CarouselAPI.Next = Next;
function Previous(carouselId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Carousel.FailPrevious,
callback: () => {
const carousel = GetCarouselItemById(carouselId);
carousel.previous();
},
});
return result;
}
CarouselAPI.Previous = Previous;
function RegisterCallback(carouselId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Carousel.FailRegisterCallback,
callback: () => {
const carousel = GetCarouselItemById(carouselId);
carousel.registerCallback(eventName, callback);
},
});
return result;
}
CarouselAPI.RegisterCallback = RegisterCallback;
function ToggleDrag(carouselId, hasDrag) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Carousel.FailToggleDrag,
callback: () => {
const carousel = GetCarouselItemById(carouselId);
carousel.toggleDrag(hasDrag);
},
});
return result;
}
CarouselAPI.ToggleDrag = ToggleDrag;
function UpdateOnRender(carouselId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Carousel.FailUpdate,
callback: () => {
const carousel = GetCarouselItemById(carouselId);
carousel.updateOnRender();
},
});
return result;
}
CarouselAPI.UpdateOnRender = UpdateOnRender;
function SetCarouselDirection(carouselId, direction) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Carousel.FailDirection,
callback: () => {
const carousel = GetCarouselItemById(carouselId);
carousel.setCarouselDirection(direction);
},
});
return result;
}
CarouselAPI.SetCarouselDirection = SetCarouselDirection;
function SetProviderConfigs(carouselId, configs) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Carousel.FailRegisterProviderConfig,
callback: () => {
const carousel = GetCarouselItemById(carouselId);
carousel.setProviderConfigs(configs);
},
});
return result;
}
CarouselAPI.SetProviderConfigs = SetProviderConfigs;
function SetProviderEvent(carouselId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Carousel.FailRegisterProviderEvent,
hasValue: true,
callback: () => {
const _eventUniqueId = OSFramework.OSUI.Helper.Dom.GenerateUniqueId();
const carousel = GetCarouselItemById(carouselId);
carousel.setProviderEvent(eventName, callback, _eventUniqueId);
return _eventUniqueId;
},
});
return result;
}
CarouselAPI.SetProviderEvent = SetProviderEvent;
function UnsetProviderEvent(carouselId, eventId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Carousel.FailRemoveProviderEvent,
callback: () => {
const carousel = GetCarouselItemById(carouselId);
carousel.unsetProviderEvent(eventId);
},
});
return result;
}
CarouselAPI.UnsetProviderEvent = UnsetProviderEvent;
})(CarouselAPI = Patterns.CarouselAPI || (Patterns.CarouselAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var DatePickerAPI;
(function (DatePickerAPI) {
const _datePickerItemsMap = new Map();
function ChangeProperty(datePickerId, propertyName, propertyValue) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.DatePicker.FailChangeProperty,
callback: () => {
const _datePickerItem = GetDatePickerItemById(datePickerId);
_datePickerItem.changeProperty(propertyName, propertyValue);
},
});
return result;
}
DatePickerAPI.ChangeProperty = ChangeProperty;
function Clear(datePickerId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.DatePicker.FailClear,
callback: () => {
const _datePickerItem = GetDatePickerItemById(datePickerId);
_datePickerItem.clear();
},
});
return result;
}
DatePickerAPI.Clear = Clear;
function Close(datePickerId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.DatePicker.FailClose,
callback: () => {
const _datePickerItem = GetDatePickerItemById(datePickerId);
_datePickerItem.close();
},
});
return result;
}
DatePickerAPI.Close = Close;
function Create(datePickerId, configs, mode, provider) {
if (_datePickerItemsMap.has(datePickerId)) {
throw new Error(`There is already an DatePicker registered under id: ${datePickerId}`);
}
const _datePickerItem = OSFramework.OSUI.Patterns.DatePicker.Factory.NewDatePicker(datePickerId, configs, mode, provider);
_datePickerItemsMap.set(datePickerId, _datePickerItem);
return _datePickerItem;
}
DatePickerAPI.Create = Create;
function ToggleNativeBehavior(datePickerId, IsNative) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.DatePicker.FailToggleNativeBehavior,
callback: () => {
const _datePicker = this.GetDatePickerItemById(datePickerId);
_datePicker.toggleNativeBehavior(IsNative);
},
});
return result;
}
DatePickerAPI.ToggleNativeBehavior = ToggleNativeBehavior;
function Dispose(datePickerId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.DatePicker.FailDispose,
callback: () => {
const _datePickerItem = GetDatePickerItemById(datePickerId);
_datePickerItem.dispose();
_datePickerItemsMap.delete(_datePickerItem.uniqueId);
},
});
return result;
}
DatePickerAPI.Dispose = Dispose;
function GetAllDatePickerItemsMap() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_datePickerItemsMap);
}
DatePickerAPI.GetAllDatePickerItemsMap = GetAllDatePickerItemsMap;
function GetDatePickerItemById(datePickerId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap('DatePicker', datePickerId, _datePickerItemsMap);
}
DatePickerAPI.GetDatePickerItemById = GetDatePickerItemById;
function Initialize(datePickerId) {
const _datePickerItem = GetDatePickerItemById(datePickerId);
_datePickerItem.build();
return _datePickerItem;
}
DatePickerAPI.Initialize = Initialize;
function Open(datePickerId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.DatePicker.FailOpen,
callback: () => {
const _datePickerItem = GetDatePickerItemById(datePickerId);
_datePickerItem.open();
},
});
return result;
}
DatePickerAPI.Open = Open;
function OnRender(datePickerId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.DatePicker.FailOnRender,
callback: () => {
const _datePickerItem = GetDatePickerItemById(datePickerId);
_datePickerItem.onRender();
},
});
return result;
}
DatePickerAPI.OnRender = OnRender;
function RegisterCallback(datePickerId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.DatePicker.FailRegisterCallback,
callback: () => {
const _datePicker = this.GetDatePickerItemById(datePickerId);
_datePicker.registerCallback(eventName, callback);
},
});
return result;
}
DatePickerAPI.RegisterCallback = RegisterCallback;
function Redraw(datePickerId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.DatePicker.FailRedraw,
callback: () => {
const _datePicker = this.GetDatePickerItemById(datePickerId);
_datePicker.redraw();
},
});
return result;
}
DatePickerAPI.Redraw = Redraw;
function SetLanguage(datePickerId, isoCode) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.DatePicker.FailSetLanguage,
callback: () => {
const _datePicker = this.GetDatePickerItemById(datePickerId);
_datePicker.setLanguage(isoCode);
},
});
return result;
}
DatePickerAPI.SetLanguage = SetLanguage;
function UpdateInitialDate(datePickerId, date1, date2) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.DatePicker.FailUpdateInitialDate,
callback: () => {
if (OSFramework.OSUI.Helper.Dates.IsNull(date1)) {
throw new Error(`Given Date: '${date1}', can't be Null.`);
}
else if (OSFramework.OSUI.Helper.Dates.IsNull(date1) === false &&
date2 !== undefined &&
OSFramework.OSUI.Helper.Dates.IsNull(date2) === false &&
OSFramework.OSUI.Helper.Dates.IsBeforeThan(date1, date2) === false) {
throw new Error(`Date1: '${date1}', can't be after Date2: '${date2}'.`);
}
else {
const _datePicker = this.GetDatePickerItemById(datePickerId);
_datePicker.updateInitialDate(date1, date2);
}
},
});
return result;
}
DatePickerAPI.UpdateInitialDate = UpdateInitialDate;
function UpdatePrompt(datePickerId, promptMessage) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.DatePicker.FailUpdatePrompt,
callback: () => {
const _datePicker = this.GetDatePickerItemById(datePickerId);
_datePicker.updatePrompt(promptMessage);
},
});
return result;
}
DatePickerAPI.UpdatePrompt = UpdatePrompt;
function DisableDays(datePickerId, disableDays) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.DatePicker.FailDisableDays,
callback: () => {
const datePicker = GetDatePickerItemById(datePickerId);
datePicker.disableDays(disableDays);
},
});
return result;
}
DatePickerAPI.DisableDays = DisableDays;
function DisableWeekDays(datePickerId, disableWeekDays) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.DatePicker.FailDisableWeekDays,
callback: () => {
const datePicker = GetDatePickerItemById(datePickerId);
datePicker.disableWeekDays(disableWeekDays);
},
});
return result;
}
DatePickerAPI.DisableWeekDays = DisableWeekDays;
function SetProviderConfigs(datePickerId, providerConfigs) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.DatePicker.FailRegisterProviderConfig,
callback: () => {
const datePicker = GetDatePickerItemById(datePickerId);
datePicker.setProviderConfigs(providerConfigs);
},
});
return result;
}
DatePickerAPI.SetProviderConfigs = SetProviderConfigs;
function SetProviderEvent(datePickerId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.DatePicker.FailRegisterProviderEvent,
hasValue: true,
callback: () => {
const _eventUniqueId = OSFramework.OSUI.Helper.Dom.GenerateUniqueId();
const datePicker = GetDatePickerItemById(datePickerId);
datePicker.setProviderEvent(eventName, callback, _eventUniqueId);
return _eventUniqueId;
},
});
return result;
}
DatePickerAPI.SetProviderEvent = SetProviderEvent;
function UnsetProviderEvent(datePickerId, eventId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.DatePicker.FailRemoveProviderEvent,
callback: () => {
const datePicker = GetDatePickerItemById(datePickerId);
datePicker.unsetProviderEvent(eventId);
},
});
return result;
}
DatePickerAPI.UnsetProviderEvent = UnsetProviderEvent;
function SetEditableInput(datePickerId, IsEditable) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.DatePicker.FailSetEditableInput,
callback: () => {
const _datePicker = this.GetDatePickerItemById(datePickerId);
_datePicker.setEditableInput(IsEditable);
},
});
return result;
}
DatePickerAPI.SetEditableInput = SetEditableInput;
})(DatePickerAPI = Patterns.DatePickerAPI || (Patterns.DatePickerAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var DropdownAPI;
(function (DropdownAPI) {
const _dropdownItemsMap = new Map();
function ChangeProperty(dropdownId, propertyName, propertyValue) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Dropdown.FailChangeProperty,
callback: () => {
const _dropdownItem = GetDropdownById(dropdownId);
_dropdownItem.changeProperty(propertyName, propertyValue);
},
});
return result;
}
DropdownAPI.ChangeProperty = ChangeProperty;
function Clear(dropdownId, silentOnChangedEvent = true) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Dropdown.FailClear,
callback: () => {
const _dropdownItem = GetDropdownById(dropdownId);
_dropdownItem.clear(silentOnChangedEvent);
},
});
return result;
}
DropdownAPI.Clear = Clear;
function Close(dropdownId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Dropdown.FailClose,
callback: () => {
const _dropdownItem = GetDropdownById(dropdownId);
_dropdownItem.close();
},
});
return result;
}
DropdownAPI.Close = Close;
function Create(dropdownId, mode, provider, configs) {
if (_dropdownItemsMap.has(dropdownId)) {
throw new Error(`There is already an Dropdown registered under id: ${dropdownId}`);
}
const _dropdownItem = OSFramework.OSUI.Patterns.Dropdown.Factory.NewDropdown(dropdownId, mode, provider, configs);
_dropdownItemsMap.set(dropdownId, _dropdownItem);
return _dropdownItem;
}
DropdownAPI.Create = Create;
function Disable(dropdownId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Dropdown.FailDisable,
callback: () => {
const _dropdownItem = GetDropdownById(dropdownId);
_dropdownItem.disable();
},
});
return result;
}
DropdownAPI.Disable = Disable;
function TogglePopup(dropdownId, isEnabled) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Dropdown.FailTogglePopup,
callback: () => {
const _dropdownItem = GetDropdownById(dropdownId);
_dropdownItem.togglePopup(isEnabled);
},
});
return result;
}
DropdownAPI.TogglePopup = TogglePopup;
function Dispose(dropdownId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Dropdown.FailDispose,
callback: () => {
const _dropdownItem = GetDropdownById(dropdownId);
_dropdownItem.dispose();
_dropdownItemsMap.delete(_dropdownItem.uniqueId);
},
});
return result;
}
DropdownAPI.Dispose = Dispose;
function Enable(dropdownId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Dropdown.FailEnable,
callback: () => {
const _dropdownItem = GetDropdownById(dropdownId);
_dropdownItem.enable();
},
});
return result;
}
DropdownAPI.Enable = Enable;
function GetAllDropdowns() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_dropdownItemsMap);
}
DropdownAPI.GetAllDropdowns = GetAllDropdowns;
function GetDropdownById(dropdownId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap(OSFramework.OSUI.GlobalEnum.PatternName.Dropdown, dropdownId, _dropdownItemsMap);
}
DropdownAPI.GetDropdownById = GetDropdownById;
function GetSelectedValues(dropdownId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Dropdown.FailGetSelectedValues,
hasValue: true,
callback: () => {
const _dropdownItem = GetDropdownById(dropdownId);
return _dropdownItem.getSelectedValues();
},
});
return result;
}
DropdownAPI.GetSelectedValues = GetSelectedValues;
function Open(dropdownId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Dropdown.FailOpen,
callback: () => {
const _dropdownItem = GetDropdownById(dropdownId);
_dropdownItem.open();
},
});
return result;
}
DropdownAPI.Open = Open;
function Initialize(dropdownId) {
const _dropdownItem = GetDropdownById(dropdownId);
_dropdownItem.build();
return _dropdownItem;
}
DropdownAPI.Initialize = Initialize;
function RegisterCallback(dropdownId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Dropdown.FailRegisterCallback,
callback: () => {
const _dropdownItem = this.GetDropdownById(dropdownId);
_dropdownItem.registerCallback(eventName, callback);
},
});
return result;
}
DropdownAPI.RegisterCallback = RegisterCallback;
function SetProviderConfigs(dropdownId, providerConfigs) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Dropdown.FailRegisterProviderConfig,
callback: () => {
const _dropdownItem = GetDropdownById(dropdownId);
if (_dropdownItem['provider'] !== undefined) {
_dropdownItem.setProviderConfigs(providerConfigs);
}
else {
throw new Error(`Dropdown with Id:${dropdownId} does not have a provider.`);
}
},
});
return result;
}
DropdownAPI.SetProviderConfigs = SetProviderConfigs;
function SetProviderEvent(dropdownId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Dropdown.FailRegisterProviderEvent,
hasValue: true,
callback: () => {
const _eventUniqueId = OSFramework.OSUI.Helper.Dom.GenerateUniqueId();
const dropdown = GetDropdownById(dropdownId);
dropdown.setProviderEvent(eventName, callback, _eventUniqueId);
return _eventUniqueId;
},
});
return result;
}
DropdownAPI.SetProviderEvent = SetProviderEvent;
function UnsetProviderEvent(dropdownId, eventId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Dropdown.FailRemoveProviderEvent,
callback: () => {
const dropdown = GetDropdownById(dropdownId);
dropdown.unsetProviderEvent(eventId);
},
});
return result;
}
DropdownAPI.UnsetProviderEvent = UnsetProviderEvent;
function SetValidation(dropdownId, isValid, validationMessage) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Dropdown.FailSetValidation,
callback: () => {
const _dropdownItem = GetDropdownById(dropdownId);
_dropdownItem.validation(isValid, validationMessage);
},
});
return result;
}
DropdownAPI.SetValidation = SetValidation;
function SetValues(dropdownId, selectedValues, silentOnChangedEvent = true) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Dropdown.FailSetValues,
callback: () => {
const _dropdownItem = GetDropdownById(dropdownId);
_dropdownItem.setValue(JSON.parse(selectedValues), silentOnChangedEvent);
},
});
return result;
}
DropdownAPI.SetValues = SetValues;
})(DropdownAPI = Patterns.DropdownAPI || (Patterns.DropdownAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var DropdownServerSideItemAPI;
(function (DropdownServerSideItemAPI) {
const _dropdownServerSideItemItemsMap = new Map();
function ChangeProperty(dropdownServerSideItemId, propertyName, propertyValue) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.DropdownServerSideItem.FailChangeProperty,
callback: () => {
const _dropdownServerSideItemItem = GetDropdownServerSideItemItemById(dropdownServerSideItemId);
_dropdownServerSideItemItem.changeProperty(propertyName, propertyValue);
},
});
return result;
}
DropdownServerSideItemAPI.ChangeProperty = ChangeProperty;
function Create(dropdownServerSideItemId, configs) {
if (_dropdownServerSideItemItemsMap.has(dropdownServerSideItemId)) {
throw new Error(`There is already a ${OSFramework.OSUI.GlobalEnum.PatternName.DropdownServerSideItem} registered under id: ${dropdownServerSideItemId}`);
}
const _dropdownServerSideItemItem = new OSFramework.OSUI.Patterns.DropdownServerSideItem.DropdownServerSideItem(dropdownServerSideItemId, JSON.parse(configs));
_dropdownServerSideItemItemsMap.set(dropdownServerSideItemId, _dropdownServerSideItemItem);
return _dropdownServerSideItemItem;
}
DropdownServerSideItemAPI.Create = Create;
function Dispose(dropdownServerSideItemId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.DropdownServerSideItem.FailDispose,
callback: () => {
const _dropdownServerSideItemItem = GetDropdownServerSideItemItemById(dropdownServerSideItemId);
_dropdownServerSideItemItem.dispose();
_dropdownServerSideItemItemsMap.delete(_dropdownServerSideItemItem.uniqueId);
},
});
return result;
}
DropdownServerSideItemAPI.Dispose = Dispose;
function GetAllDropdownServerSideItemItemsMap() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_dropdownServerSideItemItemsMap);
}
DropdownServerSideItemAPI.GetAllDropdownServerSideItemItemsMap = GetAllDropdownServerSideItemItemsMap;
function GetDropdownServerSideItemItemById(dropdownServerSideItemId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap('DropdownServerSideItem', dropdownServerSideItemId, _dropdownServerSideItemItemsMap);
}
DropdownServerSideItemAPI.GetDropdownServerSideItemItemById = GetDropdownServerSideItemItemById;
function Initialize(dropdownServerSideItemId) {
const _dropdownServerSideItemItem = GetDropdownServerSideItemItemById(dropdownServerSideItemId);
_dropdownServerSideItemItem.build();
return _dropdownServerSideItemItem;
}
DropdownServerSideItemAPI.Initialize = Initialize;
function RegisterCallback(dropdownServerSideItemId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.DropdownServerSideItem.FailRegisterCallback,
callback: () => {
const _dropdownServerSideItemItem = this.GetDropdownServerSideItemItemById(dropdownServerSideItemId);
_dropdownServerSideItemItem.registerCallback(eventName, callback);
},
});
return result;
}
DropdownServerSideItemAPI.RegisterCallback = RegisterCallback;
})(DropdownServerSideItemAPI = Patterns.DropdownServerSideItemAPI || (Patterns.DropdownServerSideItemAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var FlipContentAPI;
(function (FlipContentAPI) {
const _flipContentMap = new Map();
function ChangeProperty(flipId, propertyName, propertyValue) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.FlipContent.FailChangeProperty,
callback: () => {
const flipContent = GetFlipContentById(flipId);
flipContent.changeProperty(propertyName, propertyValue);
},
});
return result;
}
FlipContentAPI.ChangeProperty = ChangeProperty;
function Create(flipId, configs) {
if (_flipContentMap.has(flipId)) {
throw new Error(`There is already a ${OSFramework.OSUI.GlobalEnum.PatternName.FlipContent} registered under id: ${flipId}`);
}
const _newFlip = new OSFramework.OSUI.Patterns.FlipContent.FlipContent(flipId, JSON.parse(configs));
_flipContentMap.set(flipId, _newFlip);
return _newFlip;
}
FlipContentAPI.Create = Create;
function Dispose(flipId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.FlipContent.FailDispose,
callback: () => {
const flipContent = GetFlipContentById(flipId);
flipContent.dispose();
_flipContentMap.delete(flipContent.uniqueId);
},
});
return result;
}
FlipContentAPI.Dispose = Dispose;
function GetAllFlipContent() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_flipContentMap);
}
FlipContentAPI.GetAllFlipContent = GetAllFlipContent;
function GetFlipContentById(flipId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap('FlipContent', flipId, _flipContentMap);
}
FlipContentAPI.GetFlipContentById = GetFlipContentById;
function Initialize(flipId) {
const flipContent = GetFlipContentById(flipId);
flipContent.build();
return flipContent;
}
FlipContentAPI.Initialize = Initialize;
function RegisterCallback(flipId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.FlipContent.FailRegisterCallback,
callback: () => {
const flipContent = GetFlipContentById(flipId);
flipContent.registerCallback(eventName, callback);
},
});
return result;
}
FlipContentAPI.RegisterCallback = RegisterCallback;
function ShowBackContent(flipId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.FlipContent.FailShowBack,
callback: () => {
const flipContent = GetFlipContentById(flipId);
flipContent.showBackContent();
},
});
return result;
}
FlipContentAPI.ShowBackContent = ShowBackContent;
function ShowFrontContent(flipId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.FlipContent.FailShowFront,
callback: () => {
const flipContent = GetFlipContentById(flipId);
flipContent.showFrontContent();
},
});
return result;
}
FlipContentAPI.ShowFrontContent = ShowFrontContent;
function ToggleFlipContent(flipId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.FlipContent.FailToggle,
callback: () => {
const flipContent = GetFlipContentById(flipId);
flipContent.toggleFlipContent();
},
});
return result;
}
FlipContentAPI.ToggleFlipContent = ToggleFlipContent;
})(FlipContentAPI = Patterns.FlipContentAPI || (Patterns.FlipContentAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var GalleryAPI;
(function (GalleryAPI) {
const _galleryMap = new Map();
function ChangeProperty(galleryId, propertyName, propertyValue) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Gallery.FailChangeProperty,
callback: () => {
const gallery = GetGalleryById(galleryId);
gallery.changeProperty(propertyName, propertyValue);
},
});
return result;
}
GalleryAPI.ChangeProperty = ChangeProperty;
function Create(galleryId, configs) {
if (_galleryMap.has(galleryId)) {
throw new Error(`There is already a ${OSFramework.OSUI.GlobalEnum.PatternName.Gallery} registered under id: ${galleryId}`);
}
const _newGallery = new OSFramework.OSUI.Patterns.Gallery.Gallery(galleryId, JSON.parse(configs));
_galleryMap.set(galleryId, _newGallery);
return _newGallery;
}
GalleryAPI.Create = Create;
function Dispose(galleryId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Gallery.FailDispose,
callback: () => {
const gallery = GetGalleryById(galleryId);
gallery.dispose();
_galleryMap.delete(galleryId);
},
});
return result;
}
GalleryAPI.Dispose = Dispose;
function GetAllGalleries() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_galleryMap);
}
GalleryAPI.GetAllGalleries = GetAllGalleries;
function GetGalleryById(galleryId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap('Gallery', galleryId, _galleryMap);
}
GalleryAPI.GetGalleryById = GetGalleryById;
function Initialize(galleryId) {
const gallery = GetGalleryById(galleryId);
gallery.build();
return gallery;
}
GalleryAPI.Initialize = Initialize;
function RegisterCallback(dropdownId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Gallery.FailRegisterCallback,
callback: () => {
const gallery = this.GetGalleryById(dropdownId);
gallery.registerCallback(eventName, callback);
},
});
return result;
}
GalleryAPI.RegisterCallback = RegisterCallback;
})(GalleryAPI = Patterns.GalleryAPI || (Patterns.GalleryAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var InlineSvgAPI;
(function (InlineSvgAPI) {
const _inlineSvgMap = new Map();
function ChangeProperty(inlineSvgId, propertyName, propertyValue) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.InlineSvg.FailChangeProperty,
callback: () => {
const inlineSvg = GetInlineSvgById(inlineSvgId);
inlineSvg.changeProperty(propertyName, propertyValue);
},
});
return result;
}
InlineSvgAPI.ChangeProperty = ChangeProperty;
function Create(inlineSvgId, configs) {
if (_inlineSvgMap.has(inlineSvgId)) {
throw new Error(`There is already a ${OSFramework.OSUI.GlobalEnum.PatternName.InlineSvg} registered under id: ${inlineSvgId}`);
}
const _newInlineSvg = new OSFramework.OSUI.Patterns.InlineSvg.InlineSvg(inlineSvgId, JSON.parse(configs));
_inlineSvgMap.set(inlineSvgId, _newInlineSvg);
return _newInlineSvg;
}
InlineSvgAPI.Create = Create;
function Dispose(inlineSvgId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.InlineSvg.FailDispose,
callback: () => {
const inlineSvg = GetInlineSvgById(inlineSvgId);
inlineSvg.dispose();
_inlineSvgMap.delete(inlineSvgId);
},
});
return result;
}
InlineSvgAPI.Dispose = Dispose;
function GetAllInlineSvgs() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_inlineSvgMap);
}
InlineSvgAPI.GetAllInlineSvgs = GetAllInlineSvgs;
function GetInlineSvgById(inlineSvgId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap('InlineSvg', inlineSvgId, _inlineSvgMap);
}
InlineSvgAPI.GetInlineSvgById = GetInlineSvgById;
function Initialize(inlineSvgId) {
const inlineSvg = GetInlineSvgById(inlineSvgId);
inlineSvg.build();
return inlineSvg;
}
InlineSvgAPI.Initialize = Initialize;
function RegisterCallback(inlineSvgId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.InlineSvg.FailRegisterCallback,
callback: () => {
const _InlineSvgItem = this.GetInlineSvgById(inlineSvgId);
_InlineSvgItem.registerCallback(eventName, callback);
},
});
return result;
}
InlineSvgAPI.RegisterCallback = RegisterCallback;
})(InlineSvgAPI = Patterns.InlineSvgAPI || (Patterns.InlineSvgAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var MonthPickerAPI;
(function (MonthPickerAPI) {
const _monthPickerItemsMap = new Map();
function ChangeProperty(monthPickerId, propertyName, propertyValue) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.MonthPicker.FailChangeProperty,
callback: () => {
const _monthPickerItem = GetMonthPickerItemById(monthPickerId);
_monthPickerItem.changeProperty(propertyName, propertyValue);
},
});
return result;
}
MonthPickerAPI.ChangeProperty = ChangeProperty;
function Clear(monthPickerId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.MonthPicker.FailClear,
callback: () => {
const _MonthPickerItem = GetMonthPickerItemById(monthPickerId);
_MonthPickerItem.clear();
},
});
return result;
}
MonthPickerAPI.Clear = Clear;
function Close(monthPickerId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.MonthPicker.FailClose,
callback: () => {
const _MonthPickerItem = GetMonthPickerItemById(monthPickerId);
_MonthPickerItem.close();
},
});
return result;
}
MonthPickerAPI.Close = Close;
function Create(monthPickerId, configs, provider) {
if (_monthPickerItemsMap.has(monthPickerId)) {
throw new Error('There is already an MonthPicker registered under id: ' + monthPickerId);
}
const _monthPickerItem = OSFramework.OSUI.Patterns.MonthPicker.Factory.NewMonthPicker(monthPickerId, provider, configs);
_monthPickerItemsMap.set(monthPickerId, _monthPickerItem);
return _monthPickerItem;
}
MonthPickerAPI.Create = Create;
function Dispose(monthPickerId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.MonthPicker.FailDispose,
callback: () => {
const _monthPickerItem = GetMonthPickerItemById(monthPickerId);
_monthPickerItem.dispose();
_monthPickerItemsMap.delete(_monthPickerItem.uniqueId);
},
});
return result;
}
MonthPickerAPI.Dispose = Dispose;
function GetAllMonthPickerItemsMap() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_monthPickerItemsMap);
}
MonthPickerAPI.GetAllMonthPickerItemsMap = GetAllMonthPickerItemsMap;
function GetMonthPickerItemById(monthPickerId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap('MonthPicker', monthPickerId, _monthPickerItemsMap);
}
MonthPickerAPI.GetMonthPickerItemById = GetMonthPickerItemById;
function Initialize(monthPickerId) {
const _monthPickerItem = GetMonthPickerItemById(monthPickerId);
_monthPickerItem.build();
return _monthPickerItem;
}
MonthPickerAPI.Initialize = Initialize;
function Open(monthPickerId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.MonthPicker.FailOpen,
callback: () => {
const _MonthPickerItem = GetMonthPickerItemById(monthPickerId);
_MonthPickerItem.open();
},
});
return result;
}
MonthPickerAPI.Open = Open;
function OnRender(monthPickerId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.MonthPicker.FailOnRender,
callback: () => {
const _monthPicker = this.GetMonthPickerItemById(monthPickerId);
_monthPicker.onRender();
},
});
return result;
}
MonthPickerAPI.OnRender = OnRender;
function RegisterCallback(monthPickerId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.MonthPicker.FailRegisterCallback,
callback: () => {
const _monthPicker = this.GetMonthPickerItemById(monthPickerId);
_monthPicker.registerCallback(eventName, callback);
},
});
return result;
}
MonthPickerAPI.RegisterCallback = RegisterCallback;
function SetProviderConfigs(monthPickerId, providerConfigs) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.MonthPicker.FailRegisterProviderConfig,
callback: () => {
const monthPicker = GetMonthPickerItemById(monthPickerId);
monthPicker.setProviderConfigs(providerConfigs);
},
});
return result;
}
MonthPickerAPI.SetProviderConfigs = SetProviderConfigs;
function SetProviderEvent(monthPickerId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.MonthPicker.FailRegisterProviderEvent,
hasValue: true,
callback: () => {
const _eventUniqueId = OSFramework.OSUI.Helper.Dom.GenerateUniqueId();
const monthPicker = GetMonthPickerItemById(monthPickerId);
monthPicker.setProviderEvent(eventName, callback, _eventUniqueId);
return _eventUniqueId;
},
});
return result;
}
MonthPickerAPI.SetProviderEvent = SetProviderEvent;
function SetLanguage(monthPickerId, isoCode) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.MonthPicker.FailSetLanguage,
callback: () => {
const _monthPicker = this.GetMonthPickerItemById(monthPickerId);
_monthPicker.setLanguage(isoCode);
},
});
return result;
}
MonthPickerAPI.SetLanguage = SetLanguage;
function SetEditableInput(monthPickerId, IsEditable) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.MonthPicker.FailSetEditableInput,
callback: () => {
const _monthPicker = this.GetMonthPickerItemById(monthPickerId);
_monthPicker.setEditableInput(IsEditable);
},
});
return result;
}
MonthPickerAPI.SetEditableInput = SetEditableInput;
function UnsetProviderEvent(monthPickerId, eventId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.MonthPicker.FailRemoveProviderEvent,
callback: () => {
const monthPicker = GetMonthPickerItemById(monthPickerId);
monthPicker.unsetProviderEvent(eventId);
},
});
return result;
}
MonthPickerAPI.UnsetProviderEvent = UnsetProviderEvent;
function UpdateInitialMonth(monthPickerId, monthYear) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.MonthPicker.FailUpdateInitialMonth,
callback: () => {
const _monthPicker = this.GetMonthPickerItemById(monthPickerId);
_monthPicker.updateInitialMonth(monthYear);
},
});
return result;
}
MonthPickerAPI.UpdateInitialMonth = UpdateInitialMonth;
function UpdatePrompt(monthPickerId, promptMessage) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.MonthPicker.FailUpdatePrompt,
callback: () => {
const _monthPicker = this.GetMonthPickerItemById(monthPickerId);
_monthPicker.updatePrompt(promptMessage);
},
});
return result;
}
MonthPickerAPI.UpdatePrompt = UpdatePrompt;
})(MonthPickerAPI = Patterns.MonthPickerAPI || (Patterns.MonthPickerAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var NotificationAPI;
(function (NotificationAPI) {
const _notificationMap = new Map();
function ChangeProperty(notificationId, propertyName, propertyValue) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Notification.FailChangeProperty,
callback: () => {
const notification = GetNotificationById(notificationId);
notification.changeProperty(propertyName, propertyValue);
},
});
return result;
}
NotificationAPI.ChangeProperty = ChangeProperty;
function Create(notificationId, configs) {
if (_notificationMap.has(notificationId)) {
throw new Error(`There is already a ${OSFramework.OSUI.GlobalEnum.PatternName.Notification} registered under id: ${notificationId}`);
}
const _newNotification = new OSFramework.OSUI.Patterns.Notification.Notification(notificationId, JSON.parse(configs));
_notificationMap.set(notificationId, _newNotification);
return _newNotification;
}
NotificationAPI.Create = Create;
function Dispose(notificationId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Notification.FailDispose,
callback: () => {
const notification = GetNotificationById(notificationId);
notification.dispose();
_notificationMap.delete(notificationId);
},
});
return result;
}
NotificationAPI.Dispose = Dispose;
function GetAllNotifications() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_notificationMap);
}
NotificationAPI.GetAllNotifications = GetAllNotifications;
function GetNotificationById(notificationId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap('Notification', notificationId, _notificationMap);
}
NotificationAPI.GetNotificationById = GetNotificationById;
function Hide(notificationId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Notification.FailHide,
callback: () => {
const notification = GetNotificationById(notificationId);
notification.hide();
},
});
return result;
}
NotificationAPI.Hide = Hide;
function Initialize(notificationId) {
const notification = GetNotificationById(notificationId);
notification.build();
return notification;
}
NotificationAPI.Initialize = Initialize;
function RegisterCallback(notificationId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Notification.FailRegisterCallback,
callback: () => {
const _notificationItem = this.GetNotificationById(notificationId);
_notificationItem.registerCallback(eventName, callback);
},
});
return result;
}
NotificationAPI.RegisterCallback = RegisterCallback;
function Show(notificationId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Notification.FailShow,
callback: () => {
const notification = GetNotificationById(notificationId);
notification.show();
},
});
return result;
}
NotificationAPI.Show = Show;
})(NotificationAPI = Patterns.NotificationAPI || (Patterns.NotificationAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var OverflowMenuAPI;
(function (OverflowMenuAPI) {
const _overflowMenuMap = new Map();
function ChangeProperty(overflowMenuId, propertyName, propertyValue) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.OverflowMenu.FailChangeProperty,
callback: () => {
const overflowMenu = GetOverflowMenuById(overflowMenuId);
overflowMenu.changeProperty(propertyName, propertyValue);
},
});
return result;
}
OverflowMenuAPI.ChangeProperty = ChangeProperty;
function Create(overflowMenuId, configs) {
if (_overflowMenuMap.has(overflowMenuId)) {
throw new Error(`There is already a ${OSFramework.OSUI.GlobalEnum.PatternName.OverflowMenu} registered under id: ${overflowMenuId}`);
}
const _overflowMenuItem = new OSFramework.OSUI.Patterns.OverflowMenu.OverflowMenu(overflowMenuId, JSON.parse(configs));
_overflowMenuMap.set(overflowMenuId, _overflowMenuItem);
return _overflowMenuItem;
}
OverflowMenuAPI.Create = Create;
function Disable(overflowMenuId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.OverflowMenu.FailDisable,
callback: () => {
const _overflowMenu = GetOverflowMenuById(overflowMenuId);
_overflowMenu.disable();
},
});
return result;
}
OverflowMenuAPI.Disable = Disable;
function Dispose(overflowMenuId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.OverflowMenu.FailDispose,
callback: () => {
const _overflowMenu = GetOverflowMenuById(overflowMenuId);
_overflowMenu.dispose();
_overflowMenuMap.delete(_overflowMenu.uniqueId);
},
});
return result;
}
OverflowMenuAPI.Dispose = Dispose;
function Enable(overflowMenuId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.OverflowMenu.FailEnable,
callback: () => {
const _overflowMenu = GetOverflowMenuById(overflowMenuId);
_overflowMenu.enable();
},
});
return result;
}
OverflowMenuAPI.Enable = Enable;
function GetAllOverflowMenus() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_overflowMenuMap);
}
OverflowMenuAPI.GetAllOverflowMenus = GetAllOverflowMenus;
function GetOverflowMenuById(overflowMenuId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap(OSFramework.OSUI.GlobalEnum.PatternName.OverflowMenu, overflowMenuId, _overflowMenuMap);
}
OverflowMenuAPI.GetOverflowMenuById = GetOverflowMenuById;
function Initialize(overflowMenuId) {
const _overflowMenu = GetOverflowMenuById(overflowMenuId);
_overflowMenu.build();
return _overflowMenu;
}
OverflowMenuAPI.Initialize = Initialize;
function RegisterCallback(overflowMenuId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.OverflowMenu.FailRegisterCallback,
callback: () => {
const _overflowMenu = GetOverflowMenuById(overflowMenuId);
_overflowMenu.registerCallback(eventName, callback);
},
});
return result;
}
OverflowMenuAPI.RegisterCallback = RegisterCallback;
function Open(overflowMenuId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.OverflowMenu.FailOpen,
callback: () => {
const _overflowMenuItem = GetOverflowMenuById(overflowMenuId);
_overflowMenuItem.open(true);
},
});
return result;
}
OverflowMenuAPI.Open = Open;
function Close(overflowMenuId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.OverflowMenu.FailClose,
callback: () => {
const _overflowMenuItem = GetOverflowMenuById(overflowMenuId);
_overflowMenuItem.close();
},
});
return result;
}
OverflowMenuAPI.Close = Close;
})(OverflowMenuAPI = Patterns.OverflowMenuAPI || (Patterns.OverflowMenuAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var ProgressAPI;
(function (ProgressAPI) {
const _progressItemsMap = new Map();
function ChangeProperty(progressId, propertyName, propertyValue) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Progress.FailChangeProperty,
callback: () => {
const _progressItem = GetProgressItemById(progressId);
_progressItem.changeProperty(propertyName, propertyValue);
},
});
return result;
}
ProgressAPI.ChangeProperty = ChangeProperty;
function Create(progressId, type, configs) {
if (_progressItemsMap.has(progressId)) {
throw new Error(`There is already an ProgressItem registered under id: ${progressId}`);
}
const _progressItem = OSFramework.OSUI.Patterns.Progress.Factory.NewProgress(progressId, type, configs);
_progressItemsMap.set(progressId, _progressItem);
return _progressItem;
}
ProgressAPI.Create = Create;
function Dispose(progressId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Progress.FailDispose,
callback: () => {
const _progressItem = GetProgressItemById(progressId);
_progressItem.dispose();
_progressItemsMap.delete(_progressItem.uniqueId);
},
});
return result;
}
ProgressAPI.Dispose = Dispose;
function GetAllProgressItemsMap() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_progressItemsMap);
}
ProgressAPI.GetAllProgressItemsMap = GetAllProgressItemsMap;
function GetProgressItemById(progressId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap('Progress', progressId, _progressItemsMap);
}
ProgressAPI.GetProgressItemById = GetProgressItemById;
function Initialize(progressId) {
const _progressItem = GetProgressItemById(progressId);
_progressItem.build();
return _progressItem;
}
ProgressAPI.Initialize = Initialize;
function RegisterCallback(dropdownId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Progress.FailRegisterCallback,
callback: () => {
const _progressItem = this.GetProgressItemById(dropdownId);
_progressItem.registerCallback(eventName, callback);
},
});
return result;
}
ProgressAPI.RegisterCallback = RegisterCallback;
function ResetProgressValue(progressId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Progress.FailProgressReset,
callback: () => {
const _progressItem = GetProgressItemById(progressId);
_progressItem.resetProgressValue();
},
});
return result;
}
ProgressAPI.ResetProgressValue = ResetProgressValue;
function SetProgressValue(progressId, progress) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Progress.FailProgressValue,
callback: () => {
const _progressItem = GetProgressItemById(progressId);
_progressItem.setProgressValue(progress);
},
});
return result;
}
ProgressAPI.SetProgressValue = SetProgressValue;
function ProgressApplyGradient(progressId, gradientType, colors) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Progress.FailtProgressGradient,
callback: () => {
const _progressItem = GetProgressItemById(progressId);
_progressItem.progressApplyGradient(gradientType, JSON.parse(colors));
},
});
return result;
}
ProgressAPI.ProgressApplyGradient = ProgressApplyGradient;
})(ProgressAPI = Patterns.ProgressAPI || (Patterns.ProgressAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var RangeSliderAPI;
(function (RangeSliderAPI) {
const _rangeSliderItemsMap = new Map();
function ChangeProperty(rangeSliderId, propertyName, propertyValue) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.RangeSlider.FailChangeProperty,
callback: () => {
const _rangeSliderItem = GetRangeSliderItemById(rangeSliderId);
_rangeSliderItem.changeProperty(propertyName, propertyValue);
},
});
return result;
}
RangeSliderAPI.ChangeProperty = ChangeProperty;
function Create(rangeSliderId, configs, mode, provider) {
if (_rangeSliderItemsMap.has(rangeSliderId)) {
throw new Error(`There is already an ${OSFramework.OSUI.GlobalEnum.PatternName.RangeSlider} registered under id: ${rangeSliderId}`);
}
const _rangeSliderItem = OSFramework.OSUI.Patterns.RangeSlider.Factory.NewRangeSlider(rangeSliderId, configs, mode, provider);
_rangeSliderItemsMap.set(rangeSliderId, _rangeSliderItem);
return _rangeSliderItem;
}
RangeSliderAPI.Create = Create;
function Disable(rangeSliderId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.RangeSlider.FailDisable,
callback: () => {
const rangeSlider = this.GetRangeSliderItemById(rangeSliderId);
rangeSlider.disable();
},
});
return result;
}
RangeSliderAPI.Disable = Disable;
function Dispose(rangeSliderId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.RangeSlider.FailDispose,
callback: () => {
const _rangeSliderItem = GetRangeSliderItemById(rangeSliderId);
_rangeSliderItem.dispose();
_rangeSliderItemsMap.delete(_rangeSliderItem.uniqueId);
},
});
return result;
}
RangeSliderAPI.Dispose = Dispose;
function Enable(rangeSliderId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.RangeSlider.FailEnable,
callback: () => {
const rangeSlider = this.GetRangeSliderItemById(rangeSliderId);
rangeSlider.enable();
},
});
return result;
}
RangeSliderAPI.Enable = Enable;
function GetAllRangeSliderItemsMap() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_rangeSliderItemsMap);
}
RangeSliderAPI.GetAllRangeSliderItemsMap = GetAllRangeSliderItemsMap;
function GetRangeSliderItemById(rangeSliderId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap(OSFramework.OSUI.GlobalEnum.PatternName.RangeSlider, rangeSliderId, _rangeSliderItemsMap);
}
RangeSliderAPI.GetRangeSliderItemById = GetRangeSliderItemById;
function Initialize(rangeSliderId) {
const _rangeSliderItem = GetRangeSliderItemById(rangeSliderId);
_rangeSliderItem.build();
return _rangeSliderItem;
}
RangeSliderAPI.Initialize = Initialize;
function RegisterCallback(rangeSliderId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.RangeSlider.FailRegisterCallback,
callback: () => {
const rangeSlider = this.GetRangeSliderItemById(rangeSliderId);
rangeSlider.registerCallback(eventName, callback);
},
});
return result;
}
RangeSliderAPI.RegisterCallback = RegisterCallback;
function SetRangeIntervalChangeOnDragEnd(rangeSliderId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.RangeSlider.FailOnDragEnd,
callback: () => {
const rangeSlider = this.GetRangeSliderItemById(rangeSliderId);
rangeSlider.setRangeIntervalChangeOnDragEnd();
},
});
return result;
}
RangeSliderAPI.SetRangeIntervalChangeOnDragEnd = SetRangeIntervalChangeOnDragEnd;
function SetRangeSliderValue(rangeSliderId, valueFrom, valueTo) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.RangeSlider.FailSetValues,
callback: () => {
const rangeSlider = this.GetRangeSliderItemById(rangeSliderId);
rangeSlider.setValue(valueFrom, valueTo);
},
});
return result;
}
RangeSliderAPI.SetRangeSliderValue = SetRangeSliderValue;
function ResetRangeSliderValue(rangeSliderId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.RangeSlider.FailResetValues,
callback: () => {
const rangeSlider = this.GetRangeSliderItemById(rangeSliderId);
rangeSlider.resetValue();
},
});
return result;
}
RangeSliderAPI.ResetRangeSliderValue = ResetRangeSliderValue;
function SetProviderConfigs(rangeSliderId, configs) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.RangeSlider.FailRegisterProviderConfig,
callback: () => {
const rangeSlider = GetRangeSliderItemById(rangeSliderId);
rangeSlider.setProviderConfigs(configs);
},
});
return result;
}
RangeSliderAPI.SetProviderConfigs = SetProviderConfigs;
function SetProviderEvent(rangeSliderId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.RangeSlider.FailRegisterProviderEvent,
hasValue: true,
callback: () => {
const _eventUniqueId = OSFramework.OSUI.Helper.Dom.GenerateUniqueId();
const rangeSlider = GetRangeSliderItemById(rangeSliderId);
rangeSlider.setProviderEvent(eventName, callback, _eventUniqueId);
return _eventUniqueId;
},
});
return result;
}
RangeSliderAPI.SetProviderEvent = SetProviderEvent;
function UnsetProviderEvent(rangeSliderId, eventId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.RangeSlider.FailRemoveProviderEvent,
callback: () => {
const rangeSlider = GetRangeSliderItemById(rangeSliderId);
rangeSlider.unsetProviderEvent(eventId);
},
});
return result;
}
RangeSliderAPI.UnsetProviderEvent = UnsetProviderEvent;
})(RangeSliderAPI = Patterns.RangeSliderAPI || (Patterns.RangeSliderAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var RatingAPI;
(function (RatingAPI) {
const _ratingsMap = new Map();
function ChangeProperty(ratingId, propertyName, propertyValue) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Rating.FailChangeProperty,
callback: () => {
const rating = GetRatingById(ratingId);
rating.changeProperty(propertyName, propertyValue);
},
});
return result;
}
RatingAPI.ChangeProperty = ChangeProperty;
function Create(ratingId, configs) {
if (_ratingsMap.has(ratingId)) {
throw new Error(`There is already a ${OSFramework.OSUI.GlobalEnum.PatternName.Rating} registered under id: ${ratingId}`);
}
const _newRating = new OSFramework.OSUI.Patterns.Rating.Rating(ratingId, JSON.parse(configs));
_ratingsMap.set(ratingId, _newRating);
return _newRating;
}
RatingAPI.Create = Create;
function Disable(ratingId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Rating.FailDisable,
callback: () => {
const rating = GetRatingById(ratingId);
rating.disable();
},
});
return result;
}
RatingAPI.Disable = Disable;
function Dispose(ratingId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Rating.FailDispose,
callback: () => {
const rating = GetRatingById(ratingId);
rating.dispose();
_ratingsMap.delete(ratingId);
},
});
return result;
}
RatingAPI.Dispose = Dispose;
function Enable(ratingId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Rating.FailEnable,
callback: () => {
const rating = GetRatingById(ratingId);
rating.enable();
},
});
return result;
}
RatingAPI.Enable = Enable;
function GetAllRatings() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_ratingsMap);
}
RatingAPI.GetAllRatings = GetAllRatings;
function GetRatingById(ratingId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap('Rating', ratingId, _ratingsMap);
}
RatingAPI.GetRatingById = GetRatingById;
function Initialize(ratingId) {
const rating = GetRatingById(ratingId);
rating.build();
return rating;
}
RatingAPI.Initialize = Initialize;
function RegisterCallback(ratingId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Rating.FailRegisterCallback,
callback: () => {
const rating = GetRatingById(ratingId);
rating.registerCallback(eventName, callback);
},
});
return result;
}
RatingAPI.RegisterCallback = RegisterCallback;
})(RatingAPI = Patterns.RatingAPI || (Patterns.RatingAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var SearchAPI;
(function (SearchAPI) {
const _searchMap = new Map();
function ChangeProperty(searchId, propertyName, propertyValue) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Search.FailChangeProperty,
callback: () => {
const search = GetSearchById(searchId);
search.changeProperty(propertyName, propertyValue);
},
});
return result;
}
SearchAPI.ChangeProperty = ChangeProperty;
function Create(searchId, configs) {
if (_searchMap.has(searchId)) {
throw new Error(`There is already a ${OSFramework.OSUI.GlobalEnum.PatternName.Search} registered under id: ${searchId}`);
}
const _newSearch = new OSFramework.OSUI.Patterns.Search.Search(searchId, JSON.parse(configs));
_searchMap.set(searchId, _newSearch);
return _newSearch;
}
SearchAPI.Create = Create;
function Dispose(searchId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Search.FailDispose,
callback: () => {
const search = GetSearchById(searchId);
search.dispose();
_searchMap.delete(searchId);
},
});
return result;
}
SearchAPI.Dispose = Dispose;
function GetAllSearches() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_searchMap);
}
SearchAPI.GetAllSearches = GetAllSearches;
function GetSearchById(searchId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap('Search', searchId, _searchMap);
}
SearchAPI.GetSearchById = GetSearchById;
function Initialize(searchId) {
const search = GetSearchById(searchId);
search.build();
return search;
}
SearchAPI.Initialize = Initialize;
function RegisterCallback(searchId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Search.FailRegisterCallback,
callback: () => {
const _SearchItem = this.GetSearchById(searchId);
_SearchItem.registerCallback(eventName, callback);
},
});
return result;
}
SearchAPI.RegisterCallback = RegisterCallback;
})(SearchAPI = Patterns.SearchAPI || (Patterns.SearchAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var SectionIndexAPI;
(function (SectionIndexAPI) {
const _sectionIndexItemsMap = new Map();
function ChangeProperty(sectionIndexId, propertyName, propertyValue) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.SectionIndex.FailChangeProperty,
callback: () => {
const _sectionIndexItem = GetSectionIndexById(sectionIndexId);
_sectionIndexItem.changeProperty(propertyName, propertyValue);
},
});
return result;
}
SectionIndexAPI.ChangeProperty = ChangeProperty;
function Create(sectionIndexId, configs) {
if (_sectionIndexItemsMap.has(sectionIndexId)) {
throw new Error(`There is already an SectionIndex registered under id: ${sectionIndexId}`);
}
const _sectionIndexItem = new OSFramework.OSUI.Patterns.SectionIndex.SectionIndex(sectionIndexId, JSON.parse(configs));
_sectionIndexItemsMap.set(sectionIndexId, _sectionIndexItem);
return _sectionIndexItem;
}
SectionIndexAPI.Create = Create;
function Dispose(sectionIndexId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.SectionIndex.FailDispose,
callback: () => {
const _sectionIndexItem = GetSectionIndexById(sectionIndexId);
_sectionIndexItem.dispose();
_sectionIndexItemsMap.delete(_sectionIndexItem.uniqueId);
},
});
return result;
}
SectionIndexAPI.Dispose = Dispose;
function GetAllSectionIndexItemsMap() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_sectionIndexItemsMap);
}
SectionIndexAPI.GetAllSectionIndexItemsMap = GetAllSectionIndexItemsMap;
function GetSectionIndexById(sectionIndexId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap(OSFramework.OSUI.GlobalEnum.PatternName.SectionIndex, sectionIndexId, _sectionIndexItemsMap);
}
SectionIndexAPI.GetSectionIndexById = GetSectionIndexById;
function Initialize(sectionIndexId) {
const _sectionIndexItem = GetSectionIndexById(sectionIndexId);
_sectionIndexItem.build();
return _sectionIndexItem;
}
SectionIndexAPI.Initialize = Initialize;
function RegisterCallback(sectionIndexId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.SectionIndex.FailRegisterCallback,
callback: () => {
const _sectionIndexItem = GetSectionIndexById(sectionIndexId);
_sectionIndexItem.registerCallback(eventName, callback);
},
});
return result;
}
SectionIndexAPI.RegisterCallback = RegisterCallback;
})(SectionIndexAPI = Patterns.SectionIndexAPI || (Patterns.SectionIndexAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var SectionIndexItemAPI;
(function (SectionIndexItemAPI) {
const _sectionIndexItemMap = new Map();
function ChangeProperty(sectionIndexItemId, propertyName, propertyValue) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.SectionIndexItem.FailChangeProperty,
callback: () => {
const _sectionIndexItem = GetSectionIndexItemById(sectionIndexItemId);
_sectionIndexItem.changeProperty(propertyName, propertyValue);
},
});
return result;
}
SectionIndexItemAPI.ChangeProperty = ChangeProperty;
function Create(sectionIndexItemId, configs) {
if (_sectionIndexItemMap.has(sectionIndexItemId)) {
throw new Error(`There is already a SectionIndexItem registered under id: ${sectionIndexItemId}`);
}
const _sectionIndexItem = new OSFramework.OSUI.Patterns.SectionIndexItem.SectionIndexItem(sectionIndexItemId, JSON.parse(configs));
_sectionIndexItemMap.set(sectionIndexItemId, _sectionIndexItem);
return _sectionIndexItem;
}
SectionIndexItemAPI.Create = Create;
function Dispose(sectionIndexItemId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.SectionIndexItem.FailDispose,
callback: () => {
const _sectionIndexItemItem = GetSectionIndexItemById(sectionIndexItemId);
_sectionIndexItemItem.dispose();
_sectionIndexItemMap.delete(_sectionIndexItemItem.uniqueId);
},
});
return result;
}
SectionIndexItemAPI.Dispose = Dispose;
function GetAllSectionIndexItemItemsMap() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_sectionIndexItemMap);
}
SectionIndexItemAPI.GetAllSectionIndexItemItemsMap = GetAllSectionIndexItemItemsMap;
function GetSectionIndexItemById(sectionIndexItemId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap('SectionIndexItem', sectionIndexItemId, _sectionIndexItemMap);
}
SectionIndexItemAPI.GetSectionIndexItemById = GetSectionIndexItemById;
function Initialize(sectionIndexItemId) {
const _sectionIndexItem = GetSectionIndexItemById(sectionIndexItemId);
_sectionIndexItem.build();
return _sectionIndexItem;
}
SectionIndexItemAPI.Initialize = Initialize;
function RegisterCallback(sectionIndexItemId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.SectionIndexItem.FailRegisterCallback,
callback: () => {
const _sectionIndexItem = this.GetSectionIndexItemById(sectionIndexItemId);
_sectionIndexItem.registerCallback(eventName, callback);
},
});
return result;
}
SectionIndexItemAPI.RegisterCallback = RegisterCallback;
})(SectionIndexItemAPI = Patterns.SectionIndexItemAPI || (Patterns.SectionIndexItemAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var SidebarAPI;
(function (SidebarAPI) {
const _sidebarMap = new Map();
function ChangeProperty(sidebarId, propertyName, propertyValue) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Sidebar.FailChangeProperty,
callback: () => {
const sidebar = GetSidebarById(sidebarId);
sidebar.changeProperty(propertyName, propertyValue);
},
});
return result;
}
SidebarAPI.ChangeProperty = ChangeProperty;
function ClickOutsideToClose(sidebarId, closeOnOutSIdeClick) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Sidebar.FailClickOutsideToClose,
callback: () => {
const sidebar = GetSidebarById(sidebarId);
sidebar.clickOutsideToClose(closeOnOutSIdeClick);
},
});
return result;
}
SidebarAPI.ClickOutsideToClose = ClickOutsideToClose;
function Close(sidebarId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Sidebar.FailClose,
callback: () => {
const sidebar = GetSidebarById(sidebarId);
sidebar.close();
},
});
return result;
}
SidebarAPI.Close = Close;
function Create(sidebarId, configs) {
if (_sidebarMap.has(sidebarId)) {
throw new Error(`There is already a ${OSFramework.OSUI.GlobalEnum.PatternName.Sidebar} registered under id: ${sidebarId}`);
}
const _newSidebar = new OSFramework.OSUI.Patterns.Sidebar.Sidebar(sidebarId, JSON.parse(configs));
_sidebarMap.set(sidebarId, _newSidebar);
return _newSidebar;
}
SidebarAPI.Create = Create;
function Dispose(sidebarId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Sidebar.FailDispose,
callback: () => {
const sidebar = GetSidebarById(sidebarId);
sidebar.dispose();
_sidebarMap.delete(sidebarId);
},
});
return result;
}
SidebarAPI.Dispose = Dispose;
function GetAllSidebars() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_sidebarMap);
}
SidebarAPI.GetAllSidebars = GetAllSidebars;
function GetSidebarById(sidebarId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap(OSFramework.OSUI.GlobalEnum.PatternName.Sidebar, sidebarId, _sidebarMap);
}
SidebarAPI.GetSidebarById = GetSidebarById;
function Initialize(sidebarId) {
const sidebar = GetSidebarById(sidebarId);
sidebar.build();
return sidebar;
}
SidebarAPI.Initialize = Initialize;
function Open(sidebarId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Sidebar.FailOpen,
callback: () => {
const sidebar = GetSidebarById(sidebarId);
sidebar.open();
},
});
return result;
}
SidebarAPI.Open = Open;
function RegisterCallback(sidebarId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Sidebar.FailRegisterCallback,
callback: () => {
const _sidebarItem = this.GetSidebarById(sidebarId);
_sidebarItem.registerCallback(eventName, callback);
},
});
return result;
}
SidebarAPI.RegisterCallback = RegisterCallback;
function ToggleGestures(sidebarId, enableSwipe) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Sidebar.FailToggleSwipe,
callback: () => {
const sidebar = GetSidebarById(sidebarId);
sidebar.toggleGestures(enableSwipe);
},
});
return result;
}
SidebarAPI.ToggleGestures = ToggleGestures;
})(SidebarAPI = Patterns.SidebarAPI || (Patterns.SidebarAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var SubmenuAPI;
(function (SubmenuAPI) {
const _submenusMap = new Map();
function ChangeProperty(submenuId, propertyName, propertyValue) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Submenu.FailChangeProperty,
callback: () => {
const submenu = GetSubmenuById(submenuId);
submenu.changeProperty(propertyName, propertyValue);
},
});
return result;
}
SubmenuAPI.ChangeProperty = ChangeProperty;
function ClickOutsideToClose(submenuId, clickOutsideToClose) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Submenu.FailClickOutsideToClose,
callback: () => {
const submenu = GetSubmenuById(submenuId);
submenu.clickOutsideToClose(clickOutsideToClose);
},
});
return result;
}
SubmenuAPI.ClickOutsideToClose = ClickOutsideToClose;
function Close(submenuId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Submenu.FailClose,
callback: () => {
const submenu = GetSubmenuById(submenuId);
submenu.close();
},
});
return result;
}
SubmenuAPI.Close = Close;
function Open(submenuId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Submenu.FailOpen,
callback: () => {
const submenu = GetSubmenuById(submenuId);
submenu.open();
},
});
return result;
}
SubmenuAPI.Open = Open;
function Create(submenuId, configs) {
if (_submenusMap.has(submenuId)) {
throw new Error(`There is already a ${OSFramework.OSUI.GlobalEnum.PatternName.Submenu} registered under id: ${submenuId}`);
}
const _newSubmenu = new OSFramework.OSUI.Patterns.Submenu.Submenu(submenuId, JSON.parse(configs));
_submenusMap.set(submenuId, _newSubmenu);
return _newSubmenu;
}
SubmenuAPI.Create = Create;
function Dispose(submenuId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Submenu.FailDispose,
callback: () => {
const submenu = GetSubmenuById(submenuId);
submenu.dispose();
_submenusMap.delete(submenuId);
},
});
return result;
}
SubmenuAPI.Dispose = Dispose;
function GetAllSubmenus() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_submenusMap);
}
SubmenuAPI.GetAllSubmenus = GetAllSubmenus;
function GetSubmenuById(submenuId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap(OSFramework.OSUI.GlobalEnum.PatternName.Submenu, submenuId, _submenusMap);
}
SubmenuAPI.GetSubmenuById = GetSubmenuById;
function Initialize(submenuId) {
const submenu = GetSubmenuById(submenuId);
submenu.build();
return submenu;
}
SubmenuAPI.Initialize = Initialize;
function RegisterCallback(submenuId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Submenu.FailRegisterCallback,
callback: () => {
const submenu = GetSubmenuById(submenuId);
submenu.registerCallback(eventName, callback);
},
});
return result;
}
SubmenuAPI.RegisterCallback = RegisterCallback;
function SubmenuOpenOnHover(submenuId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Submenu.FailOpenOnHover,
callback: () => {
const submenu = GetSubmenuById(submenuId);
submenu.setOpenOnHover();
},
});
return result;
}
SubmenuAPI.SubmenuOpenOnHover = SubmenuOpenOnHover;
function UpdateOnRender(submenuId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Submenu.FailUpdate,
callback: () => {
const submenu = GetSubmenuById(submenuId);
submenu.updateOnRender();
},
});
return result;
}
SubmenuAPI.UpdateOnRender = UpdateOnRender;
})(SubmenuAPI = Patterns.SubmenuAPI || (Patterns.SubmenuAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var SwipeEventsAPI;
(function (SwipeEventsAPI) {
const _swipeEventsMap = new Map();
function Create(swipeEventsId, configs) {
if (_swipeEventsMap.has(swipeEventsId)) {
throw new Error(`There is already an ${OSFramework.OSUI.GlobalEnum.PatternName.SwipeEvents} registered under id: ${swipeEventsId}`);
}
const _newSwipeEvents = new OSFramework.OSUI.Patterns.SwipeEvents.SwipeEvents(swipeEventsId, JSON.parse(configs));
_swipeEventsMap.set(swipeEventsId, _newSwipeEvents);
return _newSwipeEvents;
}
SwipeEventsAPI.Create = Create;
function Dispose(swipeEventsId) {
const swipeEvent = GetSwipeEventsById(swipeEventsId);
swipeEvent.dispose();
_swipeEventsMap.delete(swipeEvent.uniqueId);
}
SwipeEventsAPI.Dispose = Dispose;
function GetAllSwipeEvents() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_swipeEventsMap);
}
SwipeEventsAPI.GetAllSwipeEvents = GetAllSwipeEvents;
function GetSwipeEventsById(swipeEventsId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap('SwipeEvents', swipeEventsId, _swipeEventsMap);
}
SwipeEventsAPI.GetSwipeEventsById = GetSwipeEventsById;
function Initialize(swipeEventsId) {
const SwipeEvents = GetSwipeEventsById(swipeEventsId);
SwipeEvents.build();
return SwipeEvents;
}
SwipeEventsAPI.Initialize = Initialize;
function RegisterCallback(swipeEventsID, eventName, callback) {
const swipeEvents = this.GetSwipeEventsById(swipeEventsID);
swipeEvents.registerCallback(eventName, callback);
}
SwipeEventsAPI.RegisterCallback = RegisterCallback;
function GestureMove(swipeEventsId, event) {
const SwipeEvents = GetSwipeEventsById(swipeEventsId);
SwipeEvents.EventGestureMove(event);
}
SwipeEventsAPI.GestureMove = GestureMove;
function GestureEnd(swipeEventsId, offsetX, offsetY, timeTaken) {
const SwipeEvents = GetSwipeEventsById(swipeEventsId);
SwipeEvents.EventGestureEnd(offsetX, offsetY, timeTaken);
}
SwipeEventsAPI.GestureEnd = GestureEnd;
})(SwipeEventsAPI = Patterns.SwipeEventsAPI || (Patterns.SwipeEventsAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var TabsAPI;
(function (TabsAPI) {
const _tabsMap = new Map();
function ChangeProperty(tabsId, propertyName, propertyValue) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Tabs.FailChangeProperty,
callback: () => {
const tabs = GetTabsById(tabsId);
tabs.changeProperty(propertyName, propertyValue);
},
});
return result;
}
TabsAPI.ChangeProperty = ChangeProperty;
function Create(tabsId, configs) {
if (_tabsMap.has(tabsId)) {
throw new Error(`There is already a ${OSFramework.OSUI.GlobalEnum.PatternName.Tabs} registered under id: ${tabsId}`);
}
const _newTabs = new OSFramework.OSUI.Patterns.Tabs.Tabs(tabsId, JSON.parse(configs));
_tabsMap.set(tabsId, _newTabs);
return _newTabs;
}
TabsAPI.Create = Create;
function Dispose(tabsId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Tabs.FailDispose,
callback: () => {
const tabs = GetTabsById(tabsId);
tabs.dispose();
_tabsMap.delete(tabs.uniqueId);
},
});
return result;
}
TabsAPI.Dispose = Dispose;
function GetAllTabs() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_tabsMap);
}
TabsAPI.GetAllTabs = GetAllTabs;
function GetTabsById(tabsId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap('Tabs', tabsId, _tabsMap);
}
TabsAPI.GetTabsById = GetTabsById;
function Initialize(tabsId) {
const tabs = GetTabsById(tabsId);
tabs.build();
return tabs;
}
TabsAPI.Initialize = Initialize;
function RegisterCallback(tabsId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Tabs.FailRegisterCallback,
callback: () => {
const tabs = GetTabsById(tabsId);
tabs.registerCallback(eventName, callback);
},
});
return result;
}
TabsAPI.RegisterCallback = RegisterCallback;
function TabsToggleSwipe(tabsId, enableSwipe) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Tabs.FailToggleSwipe,
callback: () => {
const tabs = GetTabsById(tabsId);
tabs.toggleDragGestures(enableSwipe);
},
});
return result;
}
TabsAPI.TabsToggleSwipe = TabsToggleSwipe;
function SetActiveTab(tabsId, tabsNumber) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Tabs.FailSetActive,
callback: () => {
const tabs = GetTabsById(tabsId);
tabs.changeTab(tabsNumber, undefined, true);
},
});
return result;
}
TabsAPI.SetActiveTab = SetActiveTab;
})(TabsAPI = Patterns.TabsAPI || (Patterns.TabsAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var TabsContentItemAPI;
(function (TabsContentItemAPI) {
const _tabsContentItemMap = new Map();
function ChangeProperty(tabsContentItemId, propertyName, propertyValue) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.TabsContentItem.FailChangeProperty,
callback: () => {
const tabsContentItem = GetTabsContentItemById(tabsContentItemId);
tabsContentItem.changeProperty(propertyName, propertyValue);
},
});
return result;
}
TabsContentItemAPI.ChangeProperty = ChangeProperty;
function Create(tabsContentItemId, configs) {
if (_tabsContentItemMap.has(tabsContentItemId)) {
throw new Error(`There is already a ${OSFramework.OSUI.GlobalEnum.PatternName.TabsContentItem} registered under id: ${tabsContentItemId}`);
}
const _newTabsContentItem = new OSFramework.OSUI.Patterns.TabsContentItem.TabsContentItem(tabsContentItemId, JSON.parse(configs));
_tabsContentItemMap.set(tabsContentItemId, _newTabsContentItem);
return _newTabsContentItem;
}
TabsContentItemAPI.Create = Create;
function Dispose(tabsContentItemId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.TabsContentItem.FailDispose,
callback: () => {
const tabsContentItem = GetTabsContentItemById(tabsContentItemId);
tabsContentItem.dispose();
_tabsContentItemMap.delete(tabsContentItem.uniqueId);
},
});
return result;
}
TabsContentItemAPI.Dispose = Dispose;
function GetAllTabsContentItems() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_tabsContentItemMap);
}
TabsContentItemAPI.GetAllTabsContentItems = GetAllTabsContentItems;
function GetTabsContentItemById(tabsContentItemId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap('TabsContentItem', tabsContentItemId, _tabsContentItemMap);
}
TabsContentItemAPI.GetTabsContentItemById = GetTabsContentItemById;
function Initialize(tabsContentItemId) {
const tabsContentItem = GetTabsContentItemById(tabsContentItemId);
tabsContentItem.build();
return tabsContentItem;
}
TabsContentItemAPI.Initialize = Initialize;
function RegisterCallback(tabsContentItemId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.TabsContentItem.FailRegisterCallback,
callback: () => {
const tabsContentItem = GetTabsContentItemById(tabsContentItemId);
tabsContentItem.registerCallback(eventName, callback);
},
});
return result;
}
TabsContentItemAPI.RegisterCallback = RegisterCallback;
})(TabsContentItemAPI = Patterns.TabsContentItemAPI || (Patterns.TabsContentItemAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var TabsHeaderItemAPI;
(function (TabsHeaderItemAPI) {
const _tabsHeaderItemMap = new Map();
function ChangeProperty(tabsHeaderItemId, propertyName, propertyValue) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.TabsHeaderItem.FailChangeProperty,
callback: () => {
const tabsHeaderItem = GetTabsHeaderItemById(tabsHeaderItemId);
tabsHeaderItem.changeProperty(propertyName, propertyValue);
},
});
return result;
}
TabsHeaderItemAPI.ChangeProperty = ChangeProperty;
function Create(tabsHeaderItemId, configs) {
if (_tabsHeaderItemMap.has(tabsHeaderItemId)) {
throw new Error(`There is already a ${OSFramework.OSUI.GlobalEnum.PatternName.TabsHeaderItem} registered under id: ${tabsHeaderItemId}`);
}
const _newTabsHeaderItem = new OSFramework.OSUI.Patterns.TabsHeaderItem.TabsHeaderItem(tabsHeaderItemId, JSON.parse(configs));
_tabsHeaderItemMap.set(tabsHeaderItemId, _newTabsHeaderItem);
return _newTabsHeaderItem;
}
TabsHeaderItemAPI.Create = Create;
function DisableTabItem(tabsHeaderItemId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.TabsHeaderItem.FailDisableTabHeader,
callback: () => {
const tabsHeaderItem = GetTabsHeaderItemById(tabsHeaderItemId);
tabsHeaderItem.disable();
},
});
return result;
}
TabsHeaderItemAPI.DisableTabItem = DisableTabItem;
function Dispose(tabsHeaderItemId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.TabsHeaderItem.FailDispose,
callback: () => {
const tabsHeaderItem = GetTabsHeaderItemById(tabsHeaderItemId);
tabsHeaderItem.dispose();
_tabsHeaderItemMap.delete(tabsHeaderItem.uniqueId);
},
});
return result;
}
TabsHeaderItemAPI.Dispose = Dispose;
function EnableTabItem(tabsHeaderItemId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.TabsHeaderItem.FailEnableTabHeader,
callback: () => {
const tabsHeaderItem = GetTabsHeaderItemById(tabsHeaderItemId);
tabsHeaderItem.enable();
},
});
return result;
}
TabsHeaderItemAPI.EnableTabItem = EnableTabItem;
function GetAllTabsHeaderItems() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_tabsHeaderItemMap);
}
TabsHeaderItemAPI.GetAllTabsHeaderItems = GetAllTabsHeaderItems;
function GetTabsHeaderItemById(tabsHeaderItemId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap('TabsHeaderItem', tabsHeaderItemId, _tabsHeaderItemMap);
}
TabsHeaderItemAPI.GetTabsHeaderItemById = GetTabsHeaderItemById;
function UpdateOnRender(tabsHeaderItemId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.TabsHeaderItem.FailUpdate,
callback: () => {
const tabsHeaderItem = GetTabsHeaderItemById(tabsHeaderItemId);
tabsHeaderItem.updateOnRender();
},
});
return result;
}
TabsHeaderItemAPI.UpdateOnRender = UpdateOnRender;
function Initialize(tabsHeaderItemId) {
const tabsHeaderItem = GetTabsHeaderItemById(tabsHeaderItemId);
tabsHeaderItem.build();
return tabsHeaderItem;
}
TabsHeaderItemAPI.Initialize = Initialize;
function RegisterCallback(tabsHeaderItemId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.TabsHeaderItem.FailRegisterCallback,
callback: () => {
const tabsHeaderItem = GetTabsHeaderItemById(tabsHeaderItemId);
tabsHeaderItem.registerCallback(eventName, callback);
},
});
return result;
}
TabsHeaderItemAPI.RegisterCallback = RegisterCallback;
})(TabsHeaderItemAPI = Patterns.TabsHeaderItemAPI || (Patterns.TabsHeaderItemAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var TimePickerAPI;
(function (TimePickerAPI) {
const _timePickerItemsMap = new Map();
function ChangeProperty(timePickerId, propertyName, propertyValue) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.TimePicker.FailChangeProperty,
callback: () => {
const _timePickerItem = GetTimePickerItemById(timePickerId);
_timePickerItem.changeProperty(propertyName, propertyValue);
},
});
return result;
}
TimePickerAPI.ChangeProperty = ChangeProperty;
function Clear(timePickerId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.TimePicker.FailClear,
callback: () => {
const _timePickerItem = GetTimePickerItemById(timePickerId);
_timePickerItem.clear();
},
});
return result;
}
TimePickerAPI.Clear = Clear;
function Close(timePickerId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.TimePicker.FailClose,
callback: () => {
const _timePickerItem = GetTimePickerItemById(timePickerId);
_timePickerItem.close();
},
});
return result;
}
TimePickerAPI.Close = Close;
function Create(timePickerId, configs, provider) {
if (_timePickerItemsMap.has(timePickerId)) {
throw new Error(`There is already an TimePicker registered under id: ${timePickerId}`);
}
const _timePickerItem = OSFramework.OSUI.Patterns.TimePicker.Factory.NewTimePicker(timePickerId, configs, provider);
_timePickerItemsMap.set(timePickerId, _timePickerItem);
return _timePickerItem;
}
TimePickerAPI.Create = Create;
function ToggleNativeBehavior(timePickerId, IsNative) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.TimePicker.FailToggleNativeBehavior,
callback: () => {
const _timePicker = this.GetTimePickerItemById(timePickerId);
_timePicker.toggleNativeBehavior(IsNative);
},
});
return result;
}
TimePickerAPI.ToggleNativeBehavior = ToggleNativeBehavior;
function Dispose(timePickerId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.TimePicker.FailDispose,
callback: () => {
const _timePickerItem = GetTimePickerItemById(timePickerId);
_timePickerItem.dispose();
_timePickerItemsMap.delete(_timePickerItem.uniqueId);
},
});
return result;
}
TimePickerAPI.Dispose = Dispose;
function GetAllTimePickerItemsMap() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_timePickerItemsMap);
}
TimePickerAPI.GetAllTimePickerItemsMap = GetAllTimePickerItemsMap;
function GetTimePickerItemById(timePickerId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap(OSFramework.OSUI.GlobalEnum.PatternName.Timepicker, timePickerId, _timePickerItemsMap);
}
TimePickerAPI.GetTimePickerItemById = GetTimePickerItemById;
function Initialize(timePickerId) {
const _timePickerItem = GetTimePickerItemById(timePickerId);
_timePickerItem.build();
return _timePickerItem;
}
TimePickerAPI.Initialize = Initialize;
function OnRender(timePickerId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.TimePicker.FailOnRender,
callback: () => {
const _timePickerItem = this.GetTimePickerItemById(timePickerId);
_timePickerItem.onRender();
},
});
return result;
}
TimePickerAPI.OnRender = OnRender;
function Open(timePickerId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.TimePicker.FailOpen,
callback: () => {
const _timePickerItem = GetTimePickerItemById(timePickerId);
_timePickerItem.open();
},
});
return result;
}
TimePickerAPI.Open = Open;
function RegisterCallback(timePickerId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.TimePicker.FailRegisterCallback,
callback: () => {
const _timePicker = this.GetTimePickerItemById(timePickerId);
_timePicker.registerCallback(eventName, callback);
},
});
return result;
}
TimePickerAPI.RegisterCallback = RegisterCallback;
function Redraw(timePickerId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.TimePicker.FailRedraw,
callback: () => {
const _timePicker = this.GetTimePickerItemById(timePickerId);
_timePicker.redraw();
},
});
return result;
}
TimePickerAPI.Redraw = Redraw;
function SetLanguage(timePickerId, isoCode) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.TimePicker.FailSetLanguage,
callback: () => {
const _timePicker = this.GetTimePickerItemById(timePickerId);
_timePicker.setLanguage(isoCode);
},
});
return result;
}
TimePickerAPI.SetLanguage = SetLanguage;
function UpdateInitialTime(timePickerId, time) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.TimePicker.FailUpdateInitialTime,
callback: () => {
const _timePicker = this.GetTimePickerItemById(timePickerId);
_timePicker.updateInitialTime(time);
},
});
return result;
}
TimePickerAPI.UpdateInitialTime = UpdateInitialTime;
function UpdatePrompt(timePickerId, promptMessage) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.TimePicker.FailUpdatePrompt,
callback: () => {
const _timePicker = this.GetTimePickerItemById(timePickerId);
_timePicker.updatePrompt(promptMessage);
},
});
return result;
}
TimePickerAPI.UpdatePrompt = UpdatePrompt;
function SetProviderConfigs(timePickerId, providerConfigs) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.TimePicker.FailRegisterProviderConfig,
callback: () => {
const timePicker = GetTimePickerItemById(timePickerId);
timePicker.setProviderConfigs(providerConfigs);
},
});
return result;
}
TimePickerAPI.SetProviderConfigs = SetProviderConfigs;
function SetProviderEvent(timePickerId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.TimePicker.FailRegisterProviderEvent,
hasValue: true,
callback: () => {
const _eventUniqueId = OSFramework.OSUI.Helper.Dom.GenerateUniqueId();
const timePicker = GetTimePickerItemById(timePickerId);
timePicker.setProviderEvent(eventName, callback, _eventUniqueId);
return _eventUniqueId;
},
});
return result;
}
TimePickerAPI.SetProviderEvent = SetProviderEvent;
function UnsetProviderEvent(timePickerId, eventId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.TimePicker.FailRemoveProviderEvent,
callback: () => {
const timePicker = GetTimePickerItemById(timePickerId);
timePicker.unsetProviderEvent(eventId);
},
});
return result;
}
TimePickerAPI.UnsetProviderEvent = UnsetProviderEvent;
function SetEditableInput(timePickerId, IsEditable) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.TimePicker.FailSetEditableInput,
callback: () => {
const _timePicker = this.GetTimePickerItemById(timePickerId);
_timePicker.setEditableInput(IsEditable);
},
});
return result;
}
TimePickerAPI.SetEditableInput = SetEditableInput;
})(TimePickerAPI = Patterns.TimePickerAPI || (Patterns.TimePickerAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var TooltipAPI;
(function (TooltipAPI) {
const _tooltipsMap = new Map();
function ChangeProperty(tooltipId, propertyName, propertyValue) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Tooltip.FailChangeProperty,
callback: () => {
const tooltip = GetTooltipById(tooltipId);
tooltip.changeProperty(propertyName, propertyValue);
},
});
return result;
}
TooltipAPI.ChangeProperty = ChangeProperty;
function Close(tooltipId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Tooltip.FailClose,
callback: () => {
const tooltip = GetTooltipById(tooltipId);
tooltip.close();
},
});
return result;
}
TooltipAPI.Close = Close;
function Create(tooltipId, configs) {
if (_tooltipsMap.has(tooltipId)) {
throw new Error(`There is already a ${OSFramework.OSUI.GlobalEnum.PatternName.Tooltip} registered under id: ${tooltipId}`);
}
const _newTooltip = new OSFramework.OSUI.Patterns.Tooltip.Tooltip(tooltipId, JSON.parse(configs));
_tooltipsMap.set(tooltipId, _newTooltip);
return _newTooltip;
}
TooltipAPI.Create = Create;
function Dispose(tooltipId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Tooltip.FailDispose,
callback: () => {
const tooltip = GetTooltipById(tooltipId);
tooltip.dispose();
_tooltipsMap.delete(tooltip.uniqueId);
},
});
return result;
}
TooltipAPI.Dispose = Dispose;
function GetAllTooltips() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_tooltipsMap);
}
TooltipAPI.GetAllTooltips = GetAllTooltips;
function GetTooltipById(tooltipId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap(OSFramework.OSUI.GlobalEnum.PatternName.Tooltip, tooltipId, _tooltipsMap);
}
TooltipAPI.GetTooltipById = GetTooltipById;
function Initialize(tooltipId) {
const tooltip = GetTooltipById(tooltipId);
tooltip.build();
return tooltip;
}
TooltipAPI.Initialize = Initialize;
function Open(tooltipId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Tooltip.FailOpen,
callback: () => {
const tooltip = GetTooltipById(tooltipId);
tooltip.open();
},
});
return result;
}
TooltipAPI.Open = Open;
function RegisterCallback(tooltipId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Tooltip.FailRegisterCallback,
callback: () => {
const tooltip = this.GetTooltipById(tooltipId);
tooltip.registerCallback(eventName, callback);
},
});
return result;
}
TooltipAPI.RegisterCallback = RegisterCallback;
})(TooltipAPI = Patterns.TooltipAPI || (Patterns.TooltipAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var TouchEventsAPI;
(function (TouchEventsAPI) {
const _touchEventsMap = new Map();
function Create(touchEventsId, configs) {
if (_touchEventsMap.has(touchEventsId)) {
throw new Error(`There is already an ${OSFramework.OSUI.GlobalEnum.PatternName.TouchEvents} registered under id: ${touchEventsId}`);
}
const _newTouchEvents = new OSFramework.OSUI.Patterns.TouchEvents.TouchEvents(touchEventsId, JSON.parse(configs));
_touchEventsMap.set(touchEventsId, _newTouchEvents);
return _newTouchEvents;
}
TouchEventsAPI.Create = Create;
function Dispose(touchEventsId) {
const swipeEvent = GetTouchEventsById(touchEventsId);
swipeEvent.dispose();
_touchEventsMap.delete(swipeEvent.uniqueId);
}
TouchEventsAPI.Dispose = Dispose;
function GetAllTouchEvents() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_touchEventsMap);
}
TouchEventsAPI.GetAllTouchEvents = GetAllTouchEvents;
function GetTouchEventsById(touchEventsId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap('TouchEvents', touchEventsId, _touchEventsMap);
}
TouchEventsAPI.GetTouchEventsById = GetTouchEventsById;
function Initialize(touchEventsId) {
const TouchEvents = GetTouchEventsById(touchEventsId);
TouchEvents.build();
return TouchEvents;
}
TouchEventsAPI.Initialize = Initialize;
function RegisterCallback(touchEventsID, eventName, callback) {
const touchEvents = this.GetTouchEventsById(touchEventsID);
touchEvents.registerCallback(eventName, callback);
}
TouchEventsAPI.RegisterCallback = RegisterCallback;
})(TouchEventsAPI = Patterns.TouchEventsAPI || (Patterns.TouchEventsAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Patterns;
(function (Patterns) {
var VideoAPI;
(function (VideoAPI) {
const _videoMap = new Map();
function ChangeProperty(videoId, propertyName, propertyValue) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Video.FailChangeProperty,
callback: () => {
const video = GetVideoById(videoId);
video.changeProperty(propertyName, propertyValue);
},
});
return result;
}
VideoAPI.ChangeProperty = ChangeProperty;
function Create(videoId, configs) {
if (_videoMap.has(videoId)) {
throw new Error(`There is already a ${OSFramework.OSUI.GlobalEnum.PatternName.Video} registered under id: ${videoId}`);
}
const _newVideo = new OSFramework.OSUI.Patterns.Video.Video(videoId, JSON.parse(configs));
_videoMap.set(videoId, _newVideo);
return _newVideo;
}
VideoAPI.Create = Create;
function Dispose(videoId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Video.FailDispose,
callback: () => {
const video = GetVideoById(videoId);
video.dispose();
_videoMap.delete(videoId);
},
});
return result;
}
VideoAPI.Dispose = Dispose;
function GetAllVideos() {
return OSFramework.OSUI.Helper.MapOperation.ExportKeys(_videoMap);
}
VideoAPI.GetAllVideos = GetAllVideos;
function GetVideoById(videoId) {
return OSFramework.OSUI.Helper.MapOperation.FindInMap(OSFramework.OSUI.GlobalEnum.PatternName.Video, videoId, _videoMap);
}
VideoAPI.GetVideoById = GetVideoById;
function Initialize(videoId) {
const video = GetVideoById(videoId);
video.build();
return video;
}
VideoAPI.Initialize = Initialize;
function RegisterCallback(videoId, eventName, callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Video.FailRegisterCallback,
callback: () => {
const _videoItem = this.GetVideoById(videoId);
_videoItem.registerCallback(eventName, callback);
},
});
return result;
}
VideoAPI.RegisterCallback = RegisterCallback;
function GetState(videoId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Video.FailGetState,
hasValue: true,
callback: () => {
const video = GetVideoById(videoId);
return video.getVideoState;
},
});
return result;
}
VideoAPI.GetState = GetState;
function Pause(videoId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Video.FailPause,
callback: () => {
const video = GetVideoById(videoId);
video.setVideoPause();
},
});
return result;
}
VideoAPI.Pause = Pause;
function Play(videoId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Video.FailPlay,
callback: () => {
const video = GetVideoById(videoId);
video.setVideoPlay();
},
});
return result;
}
VideoAPI.Play = Play;
function JumpToTime(videoId, currentTime) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Video.FailSetTime,
callback: () => {
const video = GetVideoById(videoId);
video.setVideoJumpToTime(currentTime);
},
});
return result;
}
VideoAPI.JumpToTime = JumpToTime;
})(VideoAPI = Patterns.VideoAPI || (Patterns.VideoAPI = {}));
})(Patterns = OSUI.Patterns || (OSUI.Patterns = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
var Accessibility;
(function (Accessibility) {
function SetAccessibilityRole(widgetId, role) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Utilities.FailSetAccessibilityRole,
callback: () => {
const element = OSFramework.OSUI.Helper.Dom.GetElementById(widgetId);
if (element) {
const isBlock = OSFramework.OSUI.Helper.Dom.Attribute.Has(element, OSFramework.OSUI.GlobalEnum.DataBlocksTag.DataBlock);
if (isBlock) {
OSFramework.OSUI.Helper.Dom.Attribute.Set(element.children[0], OSFramework.OSUI.Constants.A11YAttributes.Role.AttrName, role);
}
else {
OSFramework.OSUI.Helper.Dom.Attribute.Set(element, OSFramework.OSUI.Constants.A11YAttributes.Role.AttrName, role);
}
}
},
});
return result;
}
Accessibility.SetAccessibilityRole = SetAccessibilityRole;
function SetAriaHidden(widgetId, isHidden) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Utilities.FailSetAriaHidden,
callback: () => {
const elem = OSFramework.OSUI.Helper.Dom.GetElementById(widgetId);
if (elem) {
OSFramework.OSUI.Helper.A11Y.AriaHidden(elem, `${isHidden}`);
}
},
});
return result;
}
Accessibility.SetAriaHidden = SetAriaHidden;
function SetFocus(widgetId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Utilities.FailSetFocus,
callback: () => {
const elementId = OSFramework.OSUI.Helper.Dom.GetElementById(widgetId);
if (elementId) {
elementId.focus();
}
},
});
return result;
}
Accessibility.SetFocus = SetFocus;
function SetLang(lang) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Utilities.FailSetLang,
callback: () => {
OSFramework.OSUI.Helper.Language.Set(lang);
},
});
return result;
}
Accessibility.SetLang = SetLang;
function SkipToContent(targetId) {
function _skipToContentOnBlur(e) {
OSFramework.OSUI.Helper.AsyncInvocation(() => {
const target = e.target;
if (target) {
OSFramework.OSUI.Helper.Dom.Attribute.Remove(target, 'tabindex');
target.removeEventListener(OSFramework.OSUI.GlobalEnum.HTMLEvent.Blur, _skipToContentOnBlur);
}
});
}
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Utilities.FailSkipToContent,
callback: () => {
const target = OSFramework.OSUI.Helper.Dom.GetElementById(targetId);
if (target) {
const isFocusable = OSFramework.OSUI.Helper.Dom.Attribute.Get(target, 'tabindex');
if (isFocusable === undefined) {
OSFramework.OSUI.Helper.Dom.Attribute.Set(target, 'tabindex', '0');
target.focus();
target.addEventListener(OSFramework.OSUI.GlobalEnum.HTMLEvent.Blur, _skipToContentOnBlur);
}
else {
target.focus();
}
}
},
});
return result;
}
Accessibility.SkipToContent = SkipToContent;
function ToggleTextSpacing() {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Utilities.FailToggleTextSpacing,
callback: () => {
let spacingStyles = OSFramework.OSUI.Helper.Dom.ClassSelector(document, OSFramework.OSUI.GlobalEnum.CssClassElements.AcessibilityStyleTag);
if (spacingStyles === undefined) {
spacingStyles = document.createElement('style');
OSFramework.OSUI.Helper.Dom.Styles.AddClass(spacingStyles, OSFramework.OSUI.GlobalEnum.CssClassElements.AcessibilityStyleTag);
spacingStyles.textContent =
' * { line-height: 1.5 !important; letter-spacing: 0.12em !important; word-spacing: 0.16em !important; } p { margin-bottom: 2em !important; } ';
OSFramework.OSUI.Helper.Dom.Move(spacingStyles, document.head);
}
else if (spacingStyles) {
spacingStyles.remove();
}
},
});
return result;
}
Accessibility.ToggleTextSpacing = ToggleTextSpacing;
function WCAGMetaTag() {
OSFramework.OSUI.Helper.Dom.Attribute.Set(OSFramework.OSUI.Helper.Dom.TagSelector(document.head, '[name="viewport"]'), 'content', 'viewport-fit=cover, width=device-width, initial-scale=1');
}
Accessibility.WCAGMetaTag = WCAGMetaTag;
})(Accessibility = Utils.Accessibility || (Utils.Accessibility = {}));
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
var Application;
(function (Application) {
function SetExpandableExceptions() {
const layout = OSFramework.OSUI.Helper.Dom.ClassSelector(document, OSFramework.OSUI.GlobalEnum.CssClassElements.Layout);
const body = document.body;
if (layout) {
const expandableMenuBehavior = OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(layout, OSFramework.OSUI.GlobalEnum.CssClassElements.AsideExpandable);
const isLayoutNative = OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(layout, OSFramework.OSUI.GlobalEnum.CssClassElements.LayoutNative);
if (expandableMenuBehavior && isLayoutNative) {
const deviceDetectionClasses = (OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(body, OSFramework.OSUI.GlobalEnum.DeviceType.tablet) &&
OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(body, OSFramework.OSUI.GlobalEnum.DeviceOrientation.landscape)) ||
OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(body, OSFramework.OSUI.GlobalEnum.DeviceType.desktop);
if (deviceDetectionClasses) {
const isHideOnScroll = OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(layout, OSFramework.OSUI.GlobalEnum.CssClassElements.HeaderHideOnScroll);
Utils.Menu.ToggleSideMenu();
if (isHideOnScroll) {
Utils.LayoutPrivate.SetStickyObserver();
}
}
}
}
}
Application.SetExpandableExceptions = SetExpandableExceptions;
})(Application = Utils.Application || (Utils.Application = {}));
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
function _bodyClick(eventName, event) {
const target = event.target;
if (target.classList.contains('btn')) {
_buttonEffect(target);
return;
}
const foundElement = _hasSomeParentTheClass(target, 'list-item') || _hasSomeParentTheClass(target, 'bottom-bar-item');
if (foundElement) {
_clickEffect(foundElement);
}
}
function _clickEffect(el) {
const spanEl = document.createElement(OSFramework.OSUI.GlobalEnum.HTMLElement.Span);
spanEl.classList.add('scale-animation');
el.appendChild(spanEl);
el.addEventListener(OSFramework.OSUI.GlobalEnum.HTMLEvent.AnimationEnd, OnTransitionEnd, false);
el.addEventListener('webkitAnimationEnd', OnTransitionEnd, false);
function OnTransitionEnd() {
if (spanEl && this === el && this === spanEl.parentNode) {
this.removeChild(spanEl);
}
}
}
function _buttonEffect(el) {
const spanEl = document.createElement(OSFramework.OSUI.GlobalEnum.HTMLElement.Span);
spanEl.classList.add('btn-animation');
el.appendChild(spanEl);
setTimeout(function () {
el.removeChild(spanEl);
}, 1800);
}
function _hasSomeParentTheClass(element, classname) {
if (element) {
if (typeof element.className !== 'undefined' &&
!element.classList.contains('.main-content') &&
!(element instanceof SVGElement)) {
if (element.className.split(' ').indexOf(classname) >= 0) {
return element;
}
else {
return _hasSomeParentTheClass(element.parentElement, classname);
}
}
}
return undefined;
}
OSFramework.OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.addHandler(OSFramework.OSUI.Event.DOMEvents.Listeners.Type.BodyOnClick, _bodyClick);
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
function ChildrenMatches(elem, selector) {
let matchingChildren = [];
if (elem) {
matchingChildren = [...elem.children].filter((child) => child.matches(selector));
}
return matchingChildren;
}
Utils.ChildrenMatches = ChildrenMatches;
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
function CreateApiResponse({ callback, errorCode, hasValue = false }) {
const responseObj = {
code: OutSystems.OSUI.ErrorCodes.Success.code,
isSuccess: true,
message: OutSystems.OSUI.ErrorCodes.Success.message,
};
try {
if (hasValue) {
responseObj.value = callback();
}
else {
callback();
}
}
catch (error) {
responseObj.code = errorCode;
responseObj.isSuccess = false;
responseObj.message = error.message;
}
return JSON.stringify(responseObj);
}
Utils.CreateApiResponse = CreateApiResponse;
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Dates;
(function (Dates) {
function GetServerDateFormat() {
return OSFramework.OSUI.Helper.Dates.ServerFormat;
}
Dates.GetServerDateFormat = GetServerDateFormat;
function SetServerDateFormat(date) {
OSFramework.OSUI.Helper.Dates.SetServerDateFormat(date);
}
Dates.SetServerDateFormat = SetServerDateFormat;
})(Dates = OSUI.Dates || (OSUI.Dates = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
var DeviceDetection;
(function (DeviceDetection) {
function GetDeviceOrientation() {
return OSFramework.OSUI.Helper.DeviceInfo.GetDeviceOrientation();
}
DeviceDetection.GetDeviceOrientation = GetDeviceOrientation;
function GetDeviceType() {
return OSFramework.OSUI.Helper.DeviceInfo.GetDeviceType();
}
DeviceDetection.GetDeviceType = GetDeviceType;
function IsTouch() {
return OSFramework.OSUI.Helper.DeviceInfo.IsTouch;
}
DeviceDetection.IsTouch = IsTouch;
function GetOperatingSystem(UserAgent) {
return OSFramework.OSUI.Helper.DeviceInfo.GetOperatingSystem(UserAgent);
}
DeviceDetection.GetOperatingSystem = GetOperatingSystem;
function IsDesktop() {
return OSFramework.OSUI.Helper.DeviceInfo.IsDesktop;
}
DeviceDetection.IsDesktop = IsDesktop;
function CheckIsLayoutNative() {
const layout = OSFramework.OSUI.Helper.Dom.ClassSelector(document.body, OSFramework.OSUI.GlobalEnum.CssClassElements.Layout);
if (layout) {
return OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(layout, OSFramework.OSUI.GlobalEnum.CssClassElements.LayoutNative);
}
else {
return false;
}
}
DeviceDetection.CheckIsLayoutNative = CheckIsLayoutNative;
function CheckIsLayoutSide() {
const layout = OSFramework.OSUI.Helper.Dom.ClassSelector(document.body, OSFramework.OSUI.GlobalEnum.CssClassElements.Layout);
if (layout) {
return OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(layout, OSFramework.OSUI.GlobalEnum.CssClassElements.LayoutSide);
}
else {
return false;
}
}
DeviceDetection.CheckIsLayoutSide = CheckIsLayoutSide;
function IsRunningAsPWA() {
return OSFramework.OSUI.Helper.DeviceInfo.IsPwa;
}
DeviceDetection.IsRunningAsPWA = IsRunningAsPWA;
function IsPhone() {
return OSFramework.OSUI.Helper.DeviceInfo.IsPhone;
}
DeviceDetection.IsPhone = IsPhone;
function IsRunningAsNativeApp() {
return OSFramework.OSUI.Helper.DeviceInfo.IsNative;
}
DeviceDetection.IsRunningAsNativeApp = IsRunningAsNativeApp;
function IsTablet() {
return OSFramework.OSUI.Helper.DeviceInfo.IsTablet;
}
DeviceDetection.IsTablet = IsTablet;
function IsWebApp() {
const layout = OSFramework.OSUI.Helper.Dom.ClassSelector(document.body, OSFramework.OSUI.GlobalEnum.CssClassElements.Layout);
if (layout) {
const isNotOldNativeLayouts = OSFramework.OSUI.Helper.Dom.TagSelector(document.body, '.active-screen .layout.layout-top') ||
OSFramework.OSUI.Helper.Dom.TagSelector(document.body, '.active-screen .layout.layout-side') ||
OSFramework.OSUI.Helper.Dom.TagSelector(document.body, '.active-screen .layout.blank') ||
OSFramework.OSUI.Helper.Dom.TagSelector(document.body, '.active-screen .layout.layout-blank');
return !!isNotOldNativeLayouts && CheckIsLayoutNative() === false;
}
else {
return false;
}
}
DeviceDetection.IsWebApp = IsWebApp;
function SetDeviceBreakpoints(phoneWidth, tabletWidth) {
return function () {
const windowWidth = window.innerWidth || document.documentElement.clientWidth;
const windowHeight = window.innerHeight || document.documentElement.clientHeight;
const orient = windowWidth > windowHeight
? OSFramework.OSUI.GlobalEnum.DeviceOrientation.landscape
: OSFramework.OSUI.GlobalEnum.DeviceOrientation.portrait;
const userValues = {
phone: phoneWidth,
tablet: tabletWidth,
};
const phoneMax = userValues.phone ? userValues.phone : 700;
const tabletMax = userValues.tablet ? userValues.tablet : 1024;
const deviceList = [
OSFramework.OSUI.GlobalEnum.DeviceType.phone,
OSFramework.OSUI.GlobalEnum.DeviceType.tablet,
OSFramework.OSUI.GlobalEnum.DeviceType.desktop,
];
let device;
if (windowWidth <= phoneMax) {
device = 0;
}
else if (windowWidth <= tabletMax) {
device = 1;
}
else {
device = 2;
}
return [orient, deviceList[device]];
};
}
DeviceDetection.SetDeviceBreakpoints = SetDeviceBreakpoints;
})(DeviceDetection = Utils.DeviceDetection || (Utils.DeviceDetection = {}));
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
var InvalidInputs;
(function (InvalidInputs) {
function FocusFirstInvalidInput(elementId, isSmooth, elementParentClass) {
return OSFramework.OSUI.Helper.InvalidInputs.FocusFirstInvalidInput(elementId, isSmooth, elementParentClass);
}
InvalidInputs.FocusFirstInvalidInput = FocusFirstInvalidInput;
})(InvalidInputs = Utils.InvalidInputs || (Utils.InvalidInputs = {}));
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
function GenerateUniqueId() {
return OSFramework.OSUI.Helper.Dom.GenerateUniqueId();
}
Utils.GenerateUniqueId = GenerateUniqueId;
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
function GetBrowser(useragent = '') {
return OSFramework.OSUI.Helper.DeviceInfo.GetBrowser(useragent);
}
Utils.GetBrowser = GetBrowser;
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
function GetClosest(elem, selector) {
return elem.closest(selector) ? elem.closest(selector) : false;
}
Utils.GetClosest = GetClosest;
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
function GetHasListInside(targetElem) {
const listElements = OSUI.Utils.ChildrenMatches(targetElem, OSFramework.OSUI.Constants.Dot + OSFramework.OSUI.GlobalEnum.CssClassElements.List);
return listElements.length > 0;
}
Utils.GetHasListInside = GetHasListInside;
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
let APIMethod;
(function (APIMethod) {
APIMethod["SetProviderConfigs"] = "SetProviderConfigs";
APIMethod["SetProviderEvent"] = "SetProviderEvent";
APIMethod["UnsetProviderEvent"] = "UnsetProviderEvent";
})(APIMethod = Utils.APIMethod || (Utils.APIMethod = {}));
function GetPickerExtensibilityAPI(widgetId, method) {
try {
OutSystems.OSUI.Patterns.DatePickerAPI.GetDatePickerItemById(widgetId);
return OutSystems.OSUI.Patterns.DatePickerAPI[method];
}
catch (error) {
try {
OutSystems.OSUI.Patterns.TimePickerAPI.GetTimePickerItemById(widgetId);
return OutSystems.OSUI.Patterns.TimePickerAPI[method];
}
catch (error) {
try {
OutSystems.OSUI.Patterns.MonthPickerAPI.GetMonthPickerItemById(widgetId);
return OutSystems.OSUI.Patterns.MonthPickerAPI[method];
}
catch (error) {
console.warn(`WidgetId: ${widgetId} is not valid.`);
}
}
}
}
Utils.GetPickerExtensibilityAPI = GetPickerExtensibilityAPI;
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
var HideOnScroll;
(function (HideOnScroll) {
function addEvents(header) {
var _a;
const content = document.querySelector('.active-screen .content');
if (OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(header, 'hide') && content) {
let startY = 0;
const mainContentHeight = (_a = OSFramework.OSUI.Helper.Dom.ClassSelector(document.body, 'main-content')) === null || _a === void 0 ? void 0 : _a.scrollHeight;
const threshold = 60;
const layout = OSFramework.OSUI.Helper.Dom.ClassSelector(document.body, OSFramework.OSUI.GlobalEnum.CssClassElements.Layout);
if (mainContentHeight - threshold > content.offsetHeight) {
content.addEventListener(OSFramework.OSUI.GlobalEnum.HTMLEvent.TouchStart, (e) => {
startY = e.touches[0].pageY;
}, false);
content.addEventListener(OSFramework.OSUI.GlobalEnum.HTMLEvent.TouchMove, (e) => {
const c = e.touches[0].pageY;
const translateY = c - startY;
if (c < startY - threshold && translateY < 0) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(header, 'header-on-scroll');
OSFramework.OSUI.Helper.Dom.Styles.AddClass(layout, 'header-is-hidden');
}
else if (c > startY + threshold) {
OSFramework.OSUI.Helper.Dom.Styles.RemoveClass(header, 'header-on-scroll');
OSFramework.OSUI.Helper.Dom.Styles.RemoveClass(layout, 'header-is-hidden');
}
}, false);
}
}
}
function Init() {
const header = OSFramework.OSUI.Helper.Dom.ClassSelector(document.body, OSFramework.OSUI.GlobalEnum.CssClassElements.Header);
if (header) {
addEvents(header);
}
}
HideOnScroll.Init = Init;
})(HideOnScroll = Utils.HideOnScroll || (Utils.HideOnScroll = {}));
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Language;
(function (Language) {
function Get() {
return OSFramework.OSUI.Helper.Language.Lang;
}
Language.Get = Get;
function GetShort() {
return OSFramework.OSUI.Helper.Language.ShortLang;
}
Language.GetShort = GetShort;
function Set(lang) {
OSFramework.OSUI.Helper.Language.Set(lang);
}
Language.Set = Set;
})(Language = OSUI.Language || (OSUI.Language = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
var LayoutPrivate;
(function (LayoutPrivate) {
function Dispose() {
LayoutPrivate.OnOrientationChange.Unset();
}
LayoutPrivate.Dispose = Dispose;
function FixInputs() {
let originalPosition = 0;
let currentPosition = 0;
const content = OSFramework.OSUI.Helper.Dom.ClassSelector(document, OSFramework.OSUI.GlobalEnum.CssClassElements.Content);
const inputs = document.querySelectorAll(OSFramework.OSUI.Constants.JustInputs);
if (inputs.length !== 0) {
for (let i = inputs.length - 1; i >= 0; i--) {
inputs[i].style.webkitUserSelect = 'auto';
}
if (content) {
content.addEventListener(OSFramework.OSUI.GlobalEnum.HTMLEvent.TouchStart, function (e) {
originalPosition = e.changedTouches[0].pageY;
for (let i = inputs.length - 1; i >= 0; i--) {
inputs[i].style.webkitUserSelect = 'auto';
}
});
content.addEventListener(OSFramework.OSUI.GlobalEnum.HTMLEvent.TouchMove, function (e) {
currentPosition = e.touches[0].pageY;
if (Math.abs(originalPosition - currentPosition) > 10) {
for (let i = inputs.length - 1; i >= 0; i--) {
inputs[i].style.webkitUserSelect = 'none';
}
}
else {
for (let i = inputs.length - 1; i >= 0; i--) {
inputs[i].style.webkitUserSelect = 'auto';
}
}
});
content.addEventListener(OSFramework.OSUI.GlobalEnum.HTMLEvent.TouchEnd, function () {
setTimeout(function () {
for (let i = inputs.length - 1; i >= 0; i--) {
inputs[i].style.webkitUserSelect = 'auto';
}
}, 0);
});
}
}
}
LayoutPrivate.FixInputs = FixInputs;
function HideHeader(HideHeader) {
if (HideHeader) {
const loadTime = window.performance.timing.domContentLoadedEventEnd - window.performance.timing.navigationStart;
setTimeout(function () {
OSUI.Utils.HideOnScroll.Init();
}, loadTime);
}
}
LayoutPrivate.HideHeader = HideHeader;
function RTLObserver(callback) {
console.warn(`This method is deprecated. Use instead the API OSFramework.OSUI.Event.DOMEvents.Observers.GlobalObserverManager.Instance.addHandler`);
OSFramework.OSUI.Event.DOMEvents.Observers.GlobalObserverManager.Instance.addHandler(OSFramework.OSUI.Event.DOMEvents.Observers.ObserverEvent.RTL, callback);
}
LayoutPrivate.RTLObserver = RTLObserver;
function SetDeviceClass(IsWebApp) {
const operatingSystem = OSFramework.OSUI.Helper.DeviceInfo.GetOperatingSystem();
const body = document.body;
if (body) {
if (operatingSystem !== OSFramework.OSUI.GlobalEnum.MobileOS.Unknown) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(body, operatingSystem);
}
if (operatingSystem === OSFramework.OSUI.GlobalEnum.MobileOS.IOS &&
OSFramework.OSUI.Helper.DeviceInfo.IsIphoneWithNotch) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(body, OSFramework.OSUI.GlobalEnum.NotchClasses.IPhoneX);
}
if (IsWebApp) {
const browser = OSFramework.OSUI.Helper.DeviceInfo.GetBrowser();
if (browser !== OSFramework.OSUI.GlobalEnum.Browser.unknown) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(body, browser);
}
if (OSFramework.OSUI.Helper.DeviceInfo.IsTouch) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(body, OSFramework.OSUI.GlobalEnum.CssClassElements.IsTouch);
}
}
else {
if (OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(body, OSFramework.OSUI.GlobalEnum.DeviceType.phone) === false &&
OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(body, OSFramework.OSUI.GlobalEnum.DeviceType.tablet) === false) {
body.classList.add(OSFramework.OSUI.GlobalEnum.DeviceType.desktop);
}
}
if (OSFramework.OSUI.Helper.DeviceInfo.IsRtlLang) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(body, OSFramework.OSUI.Constants.IsRTLDeviceType);
}
LayoutPrivate.OnOrientationChange.Set();
}
}
LayoutPrivate.SetDeviceClass = SetDeviceClass;
function SetStickyObserver() {
const layout = document.querySelector('.active-screen .layout');
const stickyObserver = document.querySelector('.active-screen .sticky-observer');
const observer = new IntersectionObserver(function (entries) {
if (entries[0].isIntersecting) {
layout.classList.add(OSFramework.OSUI.GlobalEnum.CssClassElements.HeaderIsVisible);
}
else {
layout.classList.remove(OSFramework.OSUI.GlobalEnum.CssClassElements.HeaderIsVisible);
}
});
observer.observe(stickyObserver);
}
LayoutPrivate.SetStickyObserver = SetStickyObserver;
})(LayoutPrivate = Utils.LayoutPrivate || (Utils.LayoutPrivate = {}));
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
var LayoutPrivate;
(function (LayoutPrivate) {
class CssBodyVariables {
static _checkDarkModeStatus(callback) {
if (typeof window !== 'undefined' && window.matchMedia) {
const darkModeQuery = window.matchMedia('(prefers-color-scheme: dark)');
callback(darkModeQuery.matches);
const listener = (event) => {
callback(event.matches);
};
darkModeQuery.addEventListener(OSFramework.OSUI.GlobalEnum.HTMLEvent.Change, listener);
}
else {
console.warn('Dark mode detection is not supported at this context.');
callback(false);
}
}
static _checkHighContrastStatus(callback) {
if (typeof window !== 'undefined' && window.matchMedia) {
const highContrastModeQuery = window.matchMedia('(forced-colors: active)');
callback(highContrastModeQuery.matches);
const listener = (event) => {
callback(event.matches);
};
highContrastModeQuery.addEventListener(OSFramework.OSUI.GlobalEnum.HTMLEvent.Change, listener);
}
else {
console.warn('HighContrast mode detection is not supported at this context.');
callback(false);
}
}
static _isPhoneOrTablet() {
OSFramework.OSUI.Helper.Dom.Styles.SetStyleAttribute(document.body, OSFramework.OSUI.GlobalEnum.CSSVariables.ViewportHeight, window.innerHeight + OSFramework.OSUI.GlobalEnum.Units.Pixel);
}
static _setCssVars() {
if (OSUI.Utils.DeviceDetection.IsWebApp() === false) {
this._setNotWebApp();
}
if (OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(document.body, OSFramework.OSUI.GlobalEnum.DeviceType.phone) ||
OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(document.body, OSFramework.OSUI.GlobalEnum.DeviceType.tablet)) {
this._isPhoneOrTablet();
}
this._checkHighContrastStatus((isHighContrast) => {
if (isHighContrast) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(document.body, OSFramework.OSUI.GlobalEnum.CssClassElements.HighContrast);
}
else {
OSFramework.OSUI.Helper.Dom.Styles.RemoveClass(document.body, OSFramework.OSUI.GlobalEnum.CssClassElements.HighContrast);
}
});
this._checkDarkModeStatus((isDarkMode) => {
if (isDarkMode) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(document.body, OSFramework.OSUI.GlobalEnum.CssClassElements.DarkMode);
}
else {
OSFramework.OSUI.Helper.Dom.Styles.RemoveClass(document.body, OSFramework.OSUI.GlobalEnum.CssClassElements.DarkMode);
}
});
}
static _setNotWebApp() {
const headerContent = OSFramework.OSUI.Helper.Dom.ClassSelector(document, OSFramework.OSUI.GlobalEnum.CssClassElements.HeaderTopContent);
const footer = OSFramework.OSUI.Helper.Dom.ClassSelector(document, OSFramework.OSUI.GlobalEnum.CssClassElements.Footer);
if (headerContent) {
OSFramework.OSUI.Helper.Dom.Styles.SetStyleAttribute(document.body, OSFramework.OSUI.GlobalEnum.CSSVariables.HeaderContentHeight, headerContent.getBoundingClientRect().height + OSFramework.OSUI.GlobalEnum.Units.Pixel);
}
if (footer) {
OSFramework.OSUI.Helper.Dom.Styles.SetStyleAttribute(document.body, OSFramework.OSUI.GlobalEnum.CSSVariables.FooterHeight, footer.getBoundingClientRect().height + OSFramework.OSUI.GlobalEnum.Units.Pixel);
}
}
static Set() {
this._setCssVars();
}
}
LayoutPrivate.CssBodyVariables = CssBodyVariables;
})(LayoutPrivate = Utils.LayoutPrivate || (Utils.LayoutPrivate = {}));
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
var LayoutPrivate;
(function (LayoutPrivate) {
class CloseDeprecatedSubmenu {
static _checkDeprecatedSubmenu() {
const activeScreen = document.querySelector(OSFramework.OSUI.Constants.Dot + OSFramework.OSUI.GlobalEnum.CssClassElements.ActiveScreen);
this._checkMenuLinks = activeScreen.querySelector(OSFramework.OSUI.Constants.Dot + OSFramework.OSUI.GlobalEnum.CssClassElements.MenuLinks);
if (this._checkMenuLinks) {
this._deprecatedSubmenuItems = this._checkMenuLinks.querySelectorAll(OSFramework.OSUI.Constants.Dot + OSFramework.OSUI.GlobalEnum.CssClassElements.DeprecatedSubmenu);
}
}
static _closeDeprecatedSubmenu() {
if (this._deprecatedSubmenuItems && this._deprecatedSubmenuItems.length > 0) {
for (const item of this._deprecatedSubmenuItems) {
if (item.classList.contains('open')) {
item.CloseMenu();
}
}
}
}
static Set() {
this._checkDeprecatedSubmenu();
this.Unset();
if (this._deprecatedSubmenuItems &&
this._deprecatedSubmenuItems.length > 0 &&
OSFramework.OSUI.Helper.DeviceInfo.IsDesktop &&
!OSUI.Utils.DeviceDetection.CheckIsLayoutSide()) {
this._closeMenuEvent = this._closeDeprecatedSubmenu.bind(this);
document.body.addEventListener(OSFramework.OSUI.GlobalEnum.HTMLEvent.Click, this._closeMenuEvent);
}
}
static Unset() {
document.body.removeEventListener(OSFramework.OSUI.GlobalEnum.HTMLEvent.Click, this._closeMenuEvent);
}
}
LayoutPrivate.CloseDeprecatedSubmenu = CloseDeprecatedSubmenu;
})(LayoutPrivate = Utils.LayoutPrivate || (Utils.LayoutPrivate = {}));
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
var LayoutPrivate;
(function (LayoutPrivate) {
class OnOrientationChange {
static _onOrientationChange() {
const body = document.body;
if (body) {
setTimeout(() => {
if (OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(body, OSFramework.OSUI.GlobalEnum.NotchClasses.IPhoneX)) {
OSFramework.OSUI.Helper.Dom.Styles.RemoveClass(body, OSFramework.OSUI.GlobalEnum.DeviceType.tablet);
OSFramework.OSUI.Helper.Dom.Styles.AddClass(body, OSFramework.OSUI.GlobalEnum.DeviceType.phone);
}
if (OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(body, OSFramework.OSUI.GlobalEnum.DeviceType.phone) === false &&
OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(body, OSFramework.OSUI.GlobalEnum.DeviceType.tablet) === false) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(body, OSFramework.OSUI.GlobalEnum.DeviceType.desktop);
}
else if (OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(body, OSFramework.OSUI.GlobalEnum.DeviceType.desktop) &&
OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(body, OSFramework.OSUI.GlobalEnum.DeviceType.tablet)) {
OSFramework.OSUI.Helper.Dom.Styles.RemoveClass(body, OSFramework.OSUI.GlobalEnum.DeviceType.desktop);
}
LayoutPrivate.CssBodyVariables.Set();
}, 500);
}
}
static Set() {
OSFramework.OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.addHandler(OSFramework.OSUI.Event.DOMEvents.Listeners.Type.OrientationChange, this._onOrientationChange);
}
static Unset() {
OSFramework.OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.removeHandler(OSFramework.OSUI.Event.DOMEvents.Listeners.Type.OrientationChange, this._onOrientationChange);
}
}
LayoutPrivate.OnOrientationChange = OnOrientationChange;
})(LayoutPrivate = Utils.LayoutPrivate || (Utils.LayoutPrivate = {}));
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
var LayoutPrivate;
(function (LayoutPrivate) {
class SkipContentLink {
static _setLink() {
const mainContent = OSFramework.OSUI.Helper.Dom.ClassSelector(document, OSFramework.OSUI.GlobalEnum.CssClassElements.MainContent);
const skipContentLink = OSFramework.OSUI.Helper.Dom.ClassSelector(document, OSFramework.OSUI.GlobalEnum.CssClassElements.SkipContent);
if (mainContent && skipContentLink) {
skipContentLink.setAttribute(OSFramework.OSUI.GlobalEnum.HTMLAttributes.Href, mainContent.getAttribute(OSFramework.OSUI.GlobalEnum.HTMLAttributes.Id));
}
}
static Set() {
this._setLink();
}
}
LayoutPrivate.SkipContentLink = SkipContentLink;
})(LayoutPrivate = Utils.LayoutPrivate || (Utils.LayoutPrivate = {}));
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
function LogMessage(message) {
if (OSFramework.OSUI.Helper.LogMessage(message)) {
console.log(OSFramework.OSUI.Helper.LogMessage(message));
}
}
Utils.LogMessage = LogMessage;
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
function HasMasterDetail() {
let returnOutput = false;
const masterDetail = OSFramework.OSUI.Helper.Dom.ClassSelector(document.body, 'split-screen-wrapper');
const content = document.querySelector('.active-screen .content');
if (content && content.contains(masterDetail)) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(content, 'has-master-detail');
returnOutput = true;
}
return returnOutput;
}
Utils.HasMasterDetail = HasMasterDetail;
function SetFocusBehaviour(contentId, triggerItem) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Utilities.FailMasterDetailSetContentFocus,
callback: () => {
const element = OSFramework.OSUI.Helper.Dom.GetElementById(contentId);
const isPhone = OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(document.body, 'phone');
OSFramework.OSUI.Helper.Dom.Attribute.Set(element, 'tabindex', '0');
element.focus();
if (isPhone === false) {
const focusItemTop = element
.closest('.split-right-content')
.querySelector('span.focus-item.top');
OSFramework.OSUI.Helper.Dom.Attribute.Set(focusItemTop, 'tabindex', '0');
OSFramework.OSUI.Helper.Dom.Attribute.Set(focusItemTop, 'focusItemId', triggerItem);
const focusItemBottom = element
.closest('.split-right-content')
.querySelector('span.focus-item.bottom');
const itemChild = OSFramework.OSUI.Helper.Dom.TagSelector(OSFramework.OSUI.Helper.Dom.GetElementById(triggerItem), 'div');
if (itemChild) {
OSFramework.OSUI.Helper.Dom.Attribute.Set(focusItemBottom, 'tabindex', '0');
OSFramework.OSUI.Helper.Dom.Attribute.Set(focusItemBottom, 'focusItemId', itemChild.id);
}
else {
OSFramework.OSUI.Helper.Dom.Attribute.Set(focusItemBottom, 'tabindex', '-1');
OSFramework.OSUI.Helper.Dom.Attribute.Remove(focusItemBottom, 'focusItemId');
}
}
},
});
return result;
}
Utils.SetFocusBehaviour = SetFocusBehaviour;
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
var Menu;
(function (Menu) {
let _onOrientationChangeCallback;
const _appProp = {
device: {
isLandscape: false,
type: undefined,
},
layout: {
element: undefined,
isAsideExpandable: false,
isAsideMenu: false,
isAsideMenuOverlay: false,
isBlank: false,
isTopMenu: false,
},
menu: {
element: undefined,
hasEventListeners: false,
isOpen: false,
},
};
const _menuFocusableElems = 'a[href]:not([disabled]), [tabindex], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled])';
const _addMenuEventListeners = (hasTriggeredByAPI = false) => {
if (hasTriggeredByAPI) {
_removeMenuEventListeners();
}
const shouldKeyDownBeAdded = OSFramework.OSUI.Helper.DeviceInfo.IsDesktop === false ||
_appProp.layout.isAsideMenuOverlay ||
_appProp.layout.isAsideExpandable;
if (shouldKeyDownBeAdded && _appProp.menu.hasEventListeners === false) {
_appProp.menu.hasEventListeners = true;
_appProp.menu.element.addEventListener(OSFramework.OSUI.GlobalEnum.HTMLEvent.keyDown, _menuOnKeypress);
}
};
const _addMenuOnResize = () => {
OSFramework.OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.addHandler(OSFramework.OSUI.Event.DOMEvents.Listeners.Type.WindowResize, _onResizeCallbackHandler);
};
const _addMenuOnOrientationChange = (callback) => {
if (callback && OSFramework.OSUI.Helper.DeviceInfo.IsTablet) {
_onOrientationChangeCallback = callback;
OSFramework.OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.addHandler(OSFramework.OSUI.Event.DOMEvents.Listeners.Type.OrientationChange, _onOrientationChangeCallbackHandler);
}
};
const _hideMenu = () => {
if (_appProp.menu.element === undefined || _appProp.layout.element === undefined) {
_setAppProps();
}
const menuIcon = OSFramework.OSUI.Helper.Dom.ClassSelector(document, 'menu-icon');
_appProp.layout.element.classList.remove('menu-visible');
_appProp.menu.isOpen = false;
menuIcon === null || menuIcon === void 0 ? void 0 : menuIcon.focus();
_updatePropsAndAttrs();
};
const _menuOnKeypress = function (e) {
const isTabPressed = e.key === 'Tab';
const isEscapedPressed = e.key === 'Escape';
const isShiftKey = e.shiftKey;
const focusableEls = OSFramework.OSUI.Helper.Dom.TagSelectorAll(_appProp.menu.element, _menuFocusableElems);
const firstFocusableEl = focusableEls[0];
const lastFocusableEl = focusableEls[focusableEls.length - 1];
if (!isTabPressed && !isEscapedPressed) {
return;
}
if (isEscapedPressed && _appProp.menu.isOpen) {
e.preventDefault();
e.stopPropagation();
_toggleMenu();
}
if (isShiftKey) {
if (document.activeElement === firstFocusableEl) {
lastFocusableEl.focus();
e.preventDefault();
}
}
else if (document.activeElement === lastFocusableEl) {
firstFocusableEl.focus();
e.preventDefault();
}
};
const _onOrientationChangeCallbackHandler = (callback) => {
if (callback) {
OSFramework.OSUI.Helper.ApplySetTimeOut(() => {
_onOrientationChangeCallback();
}, 300);
}
};
const _onResizeCallbackHandler = () => {
const currentDeviceType = OSFramework.OSUI.Helper.DeviceInfo.GetDeviceType();
if (_appProp.device.type === currentDeviceType) {
return;
}
_appProp.device.type = currentDeviceType;
if (_appProp.menu.isOpen) {
_toggleMenu();
}
else {
_updatePropsAndAttrs();
}
_removeMenuEventListeners();
_addMenuEventListeners();
};
const _removeMenuEventListeners = () => {
if (_appProp.menu.hasEventListeners) {
_appProp.menu.hasEventListeners = false;
_appProp.menu.element.removeEventListener('keydown', _menuOnKeypress);
}
};
const _removeMenuOnOrientationChange = () => {
if (_onOrientationChangeCallback && OSFramework.OSUI.Helper.DeviceInfo.IsTablet) {
OSFramework.OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.removeHandler(OSFramework.OSUI.Event.DOMEvents.Listeners.Type.OrientationChange, _onOrientationChangeCallbackHandler);
_onOrientationChangeCallback = undefined;
}
};
const _removeMenuOnResize = () => {
OSFramework.OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.removeHandler(OSFramework.OSUI.Event.DOMEvents.Listeners.Type.WindowResize, _onResizeCallbackHandler);
};
const _setA11YAttributes = (menu) => {
if (menu === undefined) {
menu = _appProp.menu.element;
}
const focusableEls = Array.from(menu.querySelectorAll(_menuFocusableElems));
const menuItems = Array.from(menu.querySelectorAll('.app-menu-links > a'));
for (let i = 0; i < focusableEls.length; ++i) {
if (focusableEls[i].closest('.osui-submenu__items')) {
focusableEls.splice(i, 1);
}
}
if (menuItems.length > 0) {
for (const item of menuItems) {
if (!item.hasAttribute('role')) {
item.setAttribute('role', 'menuitem');
}
}
}
const enableA11Y = _appProp.menu.isOpen ||
(OSFramework.OSUI.Helper.DeviceInfo.IsDesktop &&
_appProp.layout.isAsideMenuOverlay === false &&
_appProp.layout.isAsideExpandable === false);
if (enableA11Y) {
OSFramework.OSUI.Helper.A11Y.TabIndexTrue(menu);
OSFramework.OSUI.Helper.A11Y.AriaExpandedTrue(menu);
for (const item of focusableEls) {
OSFramework.OSUI.Helper.A11Y.TabIndexTrue(item);
}
}
else {
OSFramework.OSUI.Helper.A11Y.TabIndexFalse(menu);
OSFramework.OSUI.Helper.A11Y.AriaExpandedFalse(menu);
for (const item of focusableEls) {
OSFramework.OSUI.Helper.A11Y.TabIndexFalse(item);
}
}
};
const _setAppProps = () => {
_appProp.menu.element =
OSFramework.OSUI.Helper.Dom.ClassSelector(document.body, 'app-menu-content') ||
OSFramework.OSUI.Helper.Dom.ClassSelector(document.body, 'app-menu-container');
_appProp.layout.element = OSFramework.OSUI.Helper.Dom.ClassSelector(document.body, 'layout');
_appProp.device.type = OSFramework.OSUI.Helper.DeviceInfo.GetDeviceType();
_appProp.device.isLandscape =
OSFramework.OSUI.Helper.DeviceInfo.GetDeviceOrientation() ===
OSFramework.OSUI.GlobalEnum.DeviceOrientation.landscape;
_appProp.menu.isOpen = OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(_appProp.layout.element, 'menu-visible');
_appProp.layout.isTopMenu = OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(_appProp.layout.element, 'layout-top');
_appProp.layout.isAsideMenu = OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(_appProp.layout.element, 'aside-visible');
_appProp.layout.isAsideMenuOverlay = OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(_appProp.layout.element, 'aside-overlay');
_appProp.layout.isBlank = OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(_appProp.layout.element, 'layout-blank');
_appProp.layout.isAsideExpandable = OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(_appProp.layout.element, 'aside-expandable');
};
const _showMenu = () => {
const shouldShowMenu = OSFramework.OSUI.Helper.DeviceInfo.IsDesktop === false ||
_appProp.layout.isAsideMenuOverlay ||
_appProp.layout.isAsideExpandable;
if (shouldShowMenu === false) {
return;
}
if (_appProp.menu.element === undefined || _appProp.layout.element === undefined) {
_setAppProps();
}
_appProp.layout.element.classList.add('menu-visible');
_appProp.menu.element.focus();
_appProp.menu.isOpen = true;
_updatePropsAndAttrs();
};
const _toggleMenu = () => {
if (_appProp.menu.isOpen) {
_hideMenu();
}
else {
_showMenu();
}
};
const _updatePropsAndAttrs = () => {
_setAppProps();
_setA11YAttributes();
};
Menu.addMenuOnOrientationChange = _addMenuOnOrientationChange;
Menu.removeMenuOnOrientationChange = _removeMenuOnOrientationChange;
function IsMenuDraggable() {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Utilities.FailCheckIsMenuDraggable,
hasValue: true,
callback: () => {
_setAppProps();
const _layoutSideMenuVisible = _appProp.layout.isAsideMenu;
let _addDragGestures = false;
if (window.cordova !== undefined && Utils.DeviceDetection.IsRunningAsPWA() === false) {
if ((_layoutSideMenuVisible && OSFramework.OSUI.Helper.DeviceInfo.IsDesktop) ||
(_layoutSideMenuVisible &&
OSFramework.OSUI.Helper.DeviceInfo.IsTablet &&
_appProp.device.isLandscape)) {
_addDragGestures = false;
}
else {
_addDragGestures = true;
}
}
return _addDragGestures;
},
});
return result;
}
Menu.IsMenuDraggable = IsMenuDraggable;
function MenuHide() {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Utilities.FailSetExtendedMenuHide,
callback: () => {
const deprecatedMenu = OSFramework.OSUI.Helper.Dom.ClassSelector(document, 'menu');
if (deprecatedMenu) {
const appMenu = OSFramework.OSUI.Helper.Dom.ClassSelector(document, 'app-menu-container');
const menuOverlay = OSFramework.OSUI.Helper.Dom.ClassSelector(document, 'menu-background');
const onTransitionEnd = () => {
OSFramework.OSUI.Helper.Dom.Styles.RemoveClass(deprecatedMenu, 'menu--animatable');
deprecatedMenu.removeEventListener('transitionend', onTransitionEnd);
};
OSFramework.OSUI.Helper.Dom.Styles.RemoveClass(deprecatedMenu, 'menu--visible');
if (menuOverlay) {
menuOverlay.style.opacity = '';
}
appMenu.style.transform = '';
deprecatedMenu.addEventListener('transitionend', onTransitionEnd, false);
}
else {
_hideMenu();
}
_updatePropsAndAttrs();
},
});
return result;
}
Menu.MenuHide = MenuHide;
function MenuShow() {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Utilities.FailSetExtendedMenuShow,
callback: () => {
const deprecatedMenu = OSFramework.OSUI.Helper.Dom.ClassSelector(document, 'menu');
if (deprecatedMenu) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(deprecatedMenu, 'menu--visible');
OSFramework.OSUI.Helper.Dom.Styles.AddClass(deprecatedMenu, 'menu--animatable');
_updatePropsAndAttrs();
}
else {
_showMenu();
}
},
});
return result;
}
Menu.MenuShow = MenuShow;
function OnDestroy() {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Utilities.FailSetMenuOnDestroy,
callback: () => {
_removeMenuOnResize();
_removeMenuOnOrientationChange();
},
});
return result;
}
Menu.OnDestroy = OnDestroy;
function OnReady(callback) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Utilities.FailSetMenuOnReady,
callback: () => {
_updatePropsAndAttrs();
_addMenuOnResize();
_addMenuOnOrientationChange(callback);
},
});
return result;
}
Menu.OnReady = OnReady;
function SetActiveMenuItems(WidgetId, ActiveItem, ActiveSubItem) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Utilities.FailSetActiveMenuItems,
callback: () => {
let widgetSelector = '';
if (WidgetId !== '') {
widgetSelector = '#' + WidgetId + ' ';
}
const appMenuLinks = OSFramework.OSUI.Helper.Dom.TagSelector(document.body, widgetSelector + '.app-menu-links') ||
OSFramework.OSUI.Helper.Dom.TagSelector(document.body, widgetSelector + '.app-sidemenu-links');
if (appMenuLinks) {
const activeLinkBlock = appMenuLinks.children[ActiveItem];
if (activeLinkBlock) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(activeLinkBlock, 'active');
const activeSubMenu = OSFramework.OSUI.Helper.Dom.ClassSelector(activeLinkBlock, 'submenu') ||
OSFramework.OSUI.Helper.Dom.ClassSelector(activeLinkBlock, 'osui-submenu');
if (activeSubMenu) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(activeSubMenu, 'active');
const subMenuItem = OSFramework.OSUI.Helper.Dom.ClassSelector(activeSubMenu, 'submenu-items') ||
OSFramework.OSUI.Helper.Dom.ClassSelector(activeSubMenu, 'osui-submenu__items');
const activeSubMenuItem = subMenuItem.querySelectorAll('[' +
OSFramework.OSUI.Constants.A11YAttributes.Role.AttrName +
"='" +
OSFramework.OSUI.Constants.A11YAttributes.Role.MenuItem +
"']")[ActiveSubItem];
if (activeSubMenuItem) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(activeSubMenuItem, 'active');
}
}
}
}
},
});
return result;
}
Menu.SetActiveMenuItems = SetActiveMenuItems;
function SetBottomBarActiveElement(ActiveItem = -1) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Utilities.FailSetBottomBarActiveElement,
callback: () => {
const bottomBar = OSFramework.OSUI.Helper.Dom.ClassSelector(document, 'bottom-bar');
const bottomBarChild = (bottomBar ? bottomBar.children[ActiveItem] : undefined);
if (bottomBar && bottomBarChild) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(bottomBarChild, 'active');
}
},
});
return result;
}
Menu.SetBottomBarActiveElement = SetBottomBarActiveElement;
function SetMenuAttributes() {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Utilities.FailSetMenuAttributes,
callback: () => {
if (_appProp.menu.element === undefined) {
_setAppProps();
}
_setA11YAttributes();
},
});
return result;
}
Menu.SetMenuAttributes = SetMenuAttributes;
function SetMenuIcon(MenuAction) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Utilities.FailSetMenuIcon,
callback: () => {
if (MenuAction === 'Auto') {
const appMenu = Array.prototype.slice.call(OSFramework.OSUI.Helper.Dom.TagSelectorAll(document, '.bottom-bar a'));
const bottomBar = Array.prototype.slice.call(OSFramework.OSUI.Helper.Dom.TagSelectorAll(document, '.app-menu a'));
const links = appMenu.concat(bottomBar);
let showMenu = false;
for (let i = 0; i < links.length; i++) {
const timestampIndex = window.location.href.indexOf('_ts') - 1;
const currentPage = timestampIndex > 0
? window.location.href.substring(0, timestampIndex)
: window.location.href;
if (links[i].attributes['href']) {
if (currentPage.indexOf(links[i].attributes['href'].value) >= 0 ||
currentPage[currentPage.length - 1] === '/') {
showMenu = window.history ? window.history.length > 0 : true;
}
}
}
const menuIcon = OSFramework.OSUI.Helper.Dom.ClassSelector(document, 'app-menu-icon');
if (showMenu) {
OSFramework.OSUI.Helper.Dom.Styles.RemoveClass(menuIcon, 'back');
}
else {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(menuIcon, 'back');
}
}
},
});
return result;
}
Menu.SetMenuIcon = SetMenuIcon;
function SetMenuIconListeners() {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Utilities.FailSetMenuIconListeners,
callback: () => {
const menuIcon = OSFramework.OSUI.Helper.Dom.ClassSelector(document, 'menu-icon');
if (menuIcon) {
const menuIconOnKeypress = function (e) {
if (e.keyCode === 32 || e.keyCode === 13) {
e.preventDefault();
e.stopPropagation();
_toggleMenu();
}
};
menuIcon.addEventListener(OSFramework.OSUI.GlobalEnum.HTMLEvent.keyDown, menuIconOnKeypress);
}
},
});
return result;
}
Menu.SetMenuIconListeners = SetMenuIconListeners;
function SetMenuListeners(WidgetId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Utilities.FailSetMenuListeners,
callback: () => {
let widgetSelector = '';
if (WidgetId !== '') {
widgetSelector = '#' + WidgetId;
}
if (_appProp.menu.element === undefined || _appProp.layout.element === undefined) {
_setAppProps();
}
const menu = OSFramework.OSUI.Helper.Dom.TagSelector(document.body, widgetSelector + '.app-menu-content');
_appProp.menu.element = menu;
if (_appProp.layout.element && menu) {
OSFramework.OSUI.Helper.AsyncInvocation(() => {
_addMenuEventListeners(true);
});
}
},
});
return result;
}
Menu.SetMenuListeners = SetMenuListeners;
function ToggleSideMenu() {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Utilities.FailToggleSideMenu,
callback: () => {
_toggleMenu();
},
});
return result;
}
Menu.ToggleSideMenu = ToggleSideMenu;
})(Menu = Utils.Menu || (Utils.Menu = {}));
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
var Network;
(function (Network) {
function IsOnline() {
return navigator.onLine;
}
Network.IsOnline = IsOnline;
function Type() {
let typeofConnection = 'webbrowser';
if (navigator.connection !== undefined && navigator.connection.type !== undefined) {
typeofConnection = navigator.connection.type;
}
return typeofConnection;
}
Network.Type = Type;
})(Network = Utils.Network || (Utils.Network = {}));
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
function AbstractNormalizeProviderConfigs(providerConfigs, htmlElementsProps) {
for (const keyName of Object.keys(providerConfigs)) {
let keyValue = providerConfigs[keyName];
if (typeof keyValue !== 'string') {
continue;
}
if ((htmlElementsProps === null || htmlElementsProps === void 0 ? void 0 : htmlElementsProps.indexOf(keyName)) > -1) {
providerConfigs[keyName] = OSFramework.OSUI.Helper.Dom.GetElementById(keyValue);
}
else {
keyValue = keyValue.toLowerCase().trim();
if (keyValue === 'true' || keyValue === 'false') {
providerConfigs[keyName] = keyValue === 'true';
}
}
}
return providerConfigs;
}
Utils.AbstractNormalizeProviderConfigs = AbstractNormalizeProviderConfigs;
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
function ScrollToElement(ElementId, IsSmooth = true, OffSet = 0, ElementParentClass, ScrollDelay) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Utilities.FailScrollToElement,
callback: () => {
const elementToScrollTo = OSFramework.OSUI.Helper.Dom.GetElementById(ElementId);
setTimeout(() => {
if (elementToScrollTo) {
const isHeaderFixed = OSFramework.OSUI.Helper.Dom.ClassSelector(document, OSFramework.OSUI.GlobalEnum.CssClassElements.HeaderIsFixed) ||
OSFramework.OSUI.Helper.Dom.ClassSelector(document, OSFramework.OSUI.GlobalEnum.CSSSelectors.LayoutNativeHeader);
const isIosBounce = OSFramework.OSUI.Helper.Dom.ClassSelector(document, OSFramework.OSUI.GlobalEnum.CSSSelectors.IosBounceScroll);
const scrollBehavior = IsSmooth
? OSFramework.OSUI.GlobalEnum.ScrollBehavior.Smooth
: OSFramework.OSUI.GlobalEnum.ScrollBehavior.Auto;
let scrollableElement = OSFramework.OSUI.Helper.Dom.ClassSelector(document, OSFramework.OSUI.GlobalEnum.CssClassElements.ActiveScreen);
if (ElementParentClass !== OSFramework.OSUI.Constants.EmptyString) {
const isElementParentClass = elementToScrollTo.closest(OSFramework.OSUI.Constants.Dot + ElementParentClass);
if (isElementParentClass) {
scrollableElement = isElementParentClass;
}
else {
console.warn(`The element with class '${ElementParentClass}' doesn't exist on DOM.`);
}
}
else if (isIosBounce) {
scrollableElement = isIosBounce;
}
let top = scrollableElement.scrollTop + elementToScrollTo.getBoundingClientRect().top + OffSet;
if (isHeaderFixed) {
const header = OSFramework.OSUI.Helper.Dom.ClassSelector(document, OSFramework.OSUI.GlobalEnum.CssClassElements.Header);
top = -header.offsetHeight + top;
}
scrollableElement.scrollTo({
top: top,
left: 0,
behavior: scrollBehavior,
});
}
}, ScrollDelay);
},
});
return result;
}
Utils.ScrollToElement = ScrollToElement;
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
function ToggleClass(element, state, className) {
if (!state) {
setTimeout(function () {
if (!state) {
OSFramework.OSUI.Helper.Dom.Styles.RemoveClass(element, className);
}
}, 500);
}
else {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(element, className);
element.offsetHeight;
}
}
Utils.ToggleClass = ToggleClass;
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
function AddFavicon(URL) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Utilities.FailAddFavicon,
callback: () => {
const existingFavicon = OSFramework.OSUI.Helper.Dom.TagSelector(document.head, "link[rel='shortcut icon']");
if (existingFavicon) {
existingFavicon.href = URL;
}
else {
const link = document.createElement('link');
link.type = 'image/x-icon';
link.rel = 'shortcut icon';
link.href = URL;
document.getElementsByTagName('head')[0].appendChild(link);
}
},
});
return result;
}
Utils.AddFavicon = AddFavicon;
function GetIsRTL() {
return OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(document.body, OSFramework.OSUI.Constants.IsRTLClass);
}
Utils.GetIsRTL = GetIsRTL;
function ListItemAnimate(ListId, HasLeftAction, HasRightAction, AnimationTime) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Utilities.FailListItemAnimate,
callback: () => {
let timeoutVar;
const timeAnimation = AnimationTime / 6;
const waitListRender = function () {
const listEl = OSFramework.OSUI.Helper.Dom.GetElementById(ListId);
if (OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(listEl, 'list-loading') === false) {
listAnimateItems();
clearTimeout(timeoutVar);
}
else {
timeoutVar = setTimeout(waitListRender, 50);
}
};
const listAnimateItems = function () {
setTimeout(function () {
const listElement = OSFramework.OSUI.Helper.Dom.GetElementById(ListId)
.childNodes[1];
const listItemContentLeft = OSFramework.OSUI.Helper.Dom.TagSelector(listElement, '.active-screen .list-item-left-actions');
const listItemContentRight = OSFramework.OSUI.Helper.Dom.TagSelector(listElement, '.active-screen .list-item-right-actions');
listElement.style.pointerEvents = 'none';
if (HasLeftAction) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(listItemContentLeft, 'has-content-animation');
OSFramework.OSUI.Helper.Dom.Attribute.Set(listItemContentLeft, 'style', 'width:75px; transition: all ' + timeAnimation + 'ms !important;');
setTimeout(function () {
listItemContentLeft.style.width = '';
listItemContentLeft.addEventListener('transitionend', function () {
OSFramework.OSUI.Helper.Dom.Styles.RemoveClass(listItemContentLeft, 'has-content-animation');
OSFramework.OSUI.Helper.Dom.Attribute.Remove(listItemContentLeft, 'style');
listElement.style.pointerEvents = '';
}, false);
}, timeAnimation * 3);
}
else if (HasRightAction) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(listItemContentRight, 'has-content-animation-right');
OSFramework.OSUI.Helper.Dom.Attribute.Set(listItemContentRight, 'style', 'width:75px; transition: all ' +
timeAnimation +
'ms !important; height: ' +
listElement.offsetHeight +
'px;');
setTimeout(function () {
listItemContentRight.style.width = '';
listItemContentRight.addEventListener('transitionend', function () {
OSFramework.OSUI.Helper.Dom.Styles.RemoveClass(listItemContentRight, 'has-content-animation-right');
OSFramework.OSUI.Helper.Dom.Attribute.Remove(listItemContentRight, 'style');
listElement.style.pointerEvents = '';
}, false);
}, timeAnimation * 3);
}
}, timeAnimation);
};
waitListRender();
},
});
return result;
}
Utils.ListItemAnimate = ListItemAnimate;
function MoveElement(ElementId, TargetSelector, TimeoutVal = 200) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Utilities.FailMoveElement,
callback: () => {
if (TargetSelector && ElementId) {
const elementToMove = OSFramework.OSUI.Helper.Dom.GetElementById(ElementId);
const targetElement = OSFramework.OSUI.Helper.Dom.TagSelector(document.body, TargetSelector);
if (elementToMove && targetElement) {
setTimeout(function () {
OSFramework.OSUI.Helper.Dom.Move(elementToMove, targetElement);
}, TimeoutVal);
}
}
},
});
return result;
}
Utils.MoveElement = MoveElement;
function SetActiveElement(ElementId, IsActive) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Utilities.FailSetActiveElement,
callback: () => {
const elem = OSFramework.OSUI.Helper.Dom.GetElementById(ElementId);
if (IsActive) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(elem, 'active-element');
}
else {
OSFramework.OSUI.Helper.Dom.Styles.RemoveClass(elem, 'active-element');
}
},
});
return result;
}
Utils.SetActiveElement = SetActiveElement;
function SetSelectedTableRow(TableId, RowNumber, IsSelected) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Utilities.FailSetSelectedRow,
callback: () => {
const tableRow = OSFramework.OSUI.Helper.Dom.TagSelectorAll(document, '#' + TableId + ' .table-row')[RowNumber];
if (tableRow) {
if (IsSelected) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(tableRow, 'table-row-selected');
}
else {
OSFramework.OSUI.Helper.Dom.Styles.RemoveClass(tableRow, 'table-row-selected');
}
}
},
});
return result;
}
Utils.SetSelectedTableRow = SetSelectedTableRow;
function GetPlatformType() {
return OSFramework.OSUI.Constants.OSPlatform;
}
Utils.GetPlatformType = GetPlatformType;
function ShowPassword(WidgetId) {
const result = OutSystems.OSUI.Utils.CreateApiResponse({
errorCode: OSUI.ErrorCodes.Utilities.FailShowPassword,
callback: () => {
if (WidgetId) {
const _inputPassword = OSFramework.OSUI.Helper.Dom.GetElementById(WidgetId);
if (_inputPassword.tagName.toLowerCase() !== OSFramework.OSUI.GlobalEnum.HTMLElement.Input ||
(_inputPassword.type !== OSFramework.OSUI.GlobalEnum.InputTypeAttr.Text &&
_inputPassword.type !== OSFramework.OSUI.GlobalEnum.InputTypeAttr.Password)) {
console.warn(`Object with WidgetId '${WidgetId}' should be an input element.`);
}
const _typeInputPassword = _inputPassword.type === OSFramework.OSUI.GlobalEnum.InputTypeAttr.Password
? OSFramework.OSUI.GlobalEnum.InputTypeAttr.Text
: OSFramework.OSUI.GlobalEnum.InputTypeAttr.Password;
OSFramework.OSUI.Helper.Dom.Attribute.Set(_inputPassword, OSFramework.OSUI.GlobalEnum.HTMLAttributes.Type, _typeInputPassword);
}
else {
const _inputPassword = OSFramework.OSUI.Helper.Dom.ClassSelector(document, OSFramework.OSUI.GlobalEnum.CssClassElements.LoginPassword);
const _typeInputPassword = _inputPassword.type;
OSFramework.OSUI.Helper.Dom.Attribute.Set(_inputPassword, OSFramework.OSUI.GlobalEnum.HTMLAttributes.Type, _typeInputPassword === OSFramework.OSUI.GlobalEnum.InputTypeAttr.Password
? OSFramework.OSUI.GlobalEnum.InputTypeAttr.Text
: OSFramework.OSUI.GlobalEnum.InputTypeAttr.Password);
}
},
});
return result;
}
Utils.ShowPassword = ShowPassword;
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var OutSystems;
(function (OutSystems) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
var PreviewInDevices;
(function (PreviewInDevices) {
class OnPostMessage {
static _addInPreviewCssClass() {
OnPostMessage._isInPreviewInDevices = true;
document.body.classList.add('PreviewInDevices');
}
static _createPhonePreviewStyle(notchValue) {
if (!notchValue) {
return;
}
const style = document.createElement('style');
style.textContent = `
body * {
user-select: none !important
}
body.is-phone.android.portrait {
--status-bar-height: ${notchValue}px;
}
body.portrait.is-phone {
--os-safe-area-top: ${notchValue}px;
}
body.landscape.is-phone {
--os-safe-area-right: ${notchValue}px;
--os-safe-area-left: ${notchValue}px;
}
.is-phone .active-screen.screen-container::-webkit-scrollbar, html::-webkit-scrollbar,
.is-phone.ios .active-screen.screen-container .content::-webkit-scrollbar, html::-webkit-scrollbar {
display: none;
}
`;
document.body.classList.add('is-phone');
document.body.setAttribute('data-status-bar-height', `${notchValue}px`);
document.head.appendChild(style);
}
static _createTabletPreviewStyle() {
const style = document.createElement('style');
style.textContent = `
body * {
user-select: none !important
}
.tablet .active-screen.screen-container::-webkit-scrollbar, html::-webkit-scrollbar,
.tablet.ios .active-screen.screen-container .content::-webkit-scrollbar, html::-webkit-scrollbar {
display: none;
}
`;
document.head.appendChild(style);
}
static _message(evtName, evt) {
if (OSFramework.OSUI.GlobalEnum.HTMLEvent.Message === evtName &&
(evt.origin.includes('outsystems.app') || evt.origin.includes('outsystems.dev'))) {
OnPostMessage._messageFromPreview(evt);
}
}
static _messageFromPreview(evt) {
OnPostMessage._addInPreviewCssClass();
if (OSFramework.OSUI.Helper.DeviceInfo.IsPhone) {
OnPostMessage._createPhonePreviewStyle(evt.data.notchValue);
}
else if (OSFramework.OSUI.Helper.DeviceInfo.IsTablet) {
OnPostMessage._createTabletPreviewStyle();
}
sessionStorage.setItem('previewDevicesUserAgent', evt.data.userAgent);
sessionStorage.setItem('previewDevicesPixelRatio', evt.data.pixelRatio);
OnPostMessage.Unset();
evt.source.postMessage('received', { targetOrigin: evt.origin });
OSFramework.OSUI.Helper.DeviceInfo.RefreshOperatingSystem();
Utils.LayoutPrivate.SetDeviceClass(false);
}
static get IsInPreviewInDevices() {
return OnPostMessage._isInPreviewInDevices;
}
static Set() {
if (window.self !== window.top) {
OSFramework.OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.addHandler(OSFramework.OSUI.Event.DOMEvents.Listeners.Type.WindowMessage, OnPostMessage._message);
}
}
static Unset() {
OSFramework.OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.removeHandler(OSFramework.OSUI.Event.DOMEvents.Listeners.Type.WindowMessage, OnPostMessage._message);
}
}
OnPostMessage._isInPreviewInDevices = false;
OnPostMessage.Set();
})(PreviewInDevices = Utils.PreviewInDevices || (Utils.PreviewInDevices = {}));
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = OutSystems.OSUI || (OutSystems.OSUI = {}));
})(OutSystems || (OutSystems = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var ErrorCodes;
(function (ErrorCodes) {
ErrorCodes.FloatingUI = {
FailCallProvider: 'OSUI-PVR-01001',
FailSetPosition: 'OSUI-PVR-01002',
};
})(ErrorCodes = OSUI.ErrorCodes || (OSUI.ErrorCodes = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Carousel;
(function (Carousel) {
var Splide;
(function (Splide) {
var Enum;
(function (Enum) {
let CssClass;
(function (CssClass) {
CssClass["SplideWrapper"] = "splide";
CssClass["SplideTrack"] = "splide__track";
CssClass["SplideList"] = "splide__list";
CssClass["SplideSlide"] = "splide__slide";
})(CssClass = Enum.CssClass || (Enum.CssClass = {}));
let Go;
(function (Go) {
Go["Next"] = ">";
Go["Previous"] = "<";
})(Go = Enum.Go || (Enum.Go = {}));
let KeyboardOptions;
(function (KeyboardOptions) {
KeyboardOptions["Focused"] = "focused";
})(KeyboardOptions = Enum.KeyboardOptions || (Enum.KeyboardOptions = {}));
let SpliderEvents;
(function (SpliderEvents) {
SpliderEvents["Mounted"] = "mounted";
SpliderEvents["Moved"] = "moved";
})(SpliderEvents = Enum.SpliderEvents || (Enum.SpliderEvents = {}));
let ProviderInfo;
(function (ProviderInfo) {
ProviderInfo["Name"] = "Splide";
ProviderInfo["Version"] = "4.1.3";
})(ProviderInfo = Enum.ProviderInfo || (Enum.ProviderInfo = {}));
let TypeOptions;
(function (TypeOptions) {
TypeOptions["Loop"] = "loop";
TypeOptions["Slide"] = "slide";
})(TypeOptions = Enum.TypeOptions || (Enum.TypeOptions = {}));
})(Enum = Splide.Enum || (Splide.Enum = {}));
})(Splide = Carousel.Splide || (Carousel.Splide = {}));
})(Carousel = OSUI.Carousel || (OSUI.Carousel = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Carousel;
(function (Carousel) {
var Splide;
(function (Splide) {
class OSUISplide extends OSFramework.OSUI.Patterns.Carousel.AbstractCarousel {
constructor(uniqueId, configs) {
super(uniqueId, new Splide.SplideConfig(configs));
this._blockOnRender = false;
}
_checkListWidget() {
this._hasList = OutSystems.OSUI.Utils.GetHasListInside(this._carouselPlaceholderElem);
if (this._hasList) {
this._carouselListWidgetElem = this.selfElement.querySelector(OSFramework.OSUI.Constants.Dot + OSFramework.OSUI.GlobalEnum.CssClassElements.List);
this._carouselProviderElem = this._carouselTrackElem;
}
else {
this._carouselProviderElem = this.selfElement;
}
}
_initProvider() {
this.provider = new window.Splide(this._carouselProviderElem, this._splideOptions);
this.updateProviderEvents({
name: Splide.Enum.ProviderInfo.Name,
version: Splide.Enum.ProviderInfo.Version,
events: this.provider,
});
this._setOnInitializedEvent();
this._setOnSlideMovedEvent();
this._setCarouselWidth();
this.provider.mount();
this._togglePaginationClass();
}
_prepareCarouselItems() {
const _targetList = this._hasList ? this._carouselListWidgetElem : this._carouselPlaceholderElem;
const _childrenList = _targetList.children;
if (_childrenList.length > 0) {
for (const item of _childrenList) {
if (!item.classList.contains(Splide.Enum.CssClass.SplideSlide)) {
item.classList.add(Splide.Enum.CssClass.SplideSlide);
}
}
}
}
_redefineCarouselWidth() {
OSFramework.OSUI.Helper.ApplySetTimeOut(() => {
this.provider.refresh();
this._setCarouselWidth();
if (this.selfElement.offsetWidth >= window.innerWidth) {
this.redraw();
this._setCarouselWidth();
}
}, 500);
}
_setCarouselWidth() {
OSFramework.OSUI.Helper.Dom.Styles.SetStyleAttribute(this._carouselTrackElem, OSFramework.OSUI.Patterns.Carousel.Enum.CssVariables.CarouselWidth, this.selfElement.offsetWidth + OSFramework.OSUI.GlobalEnum.Units.Pixel);
}
_setOnInitializedEvent() {
this.provider.on(Splide.Enum.SpliderEvents.Mounted, () => {
this.triggerPlatformInitializedEventCallback();
});
}
_setOnSlideMovedEvent() {
this.provider.on(Splide.Enum.SpliderEvents.Moved, (index) => {
if (index !== this._currentIndex) {
this.triggerPlatformEventCallback(this._platformEventOnSlideMoved, index);
this._currentIndex = index;
}
});
}
_togglePaginationClass() {
if (this.configs.Navigation === OSFramework.OSUI.Patterns.Carousel.Enum.Navigation.Dots ||
this.configs.Navigation === OSFramework.OSUI.Patterns.Carousel.Enum.Navigation.Both) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(this.selfElement, OSFramework.OSUI.Patterns.Carousel.Enum.CssClass.HasPagination);
}
else {
OSFramework.OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, OSFramework.OSUI.Patterns.Carousel.Enum.CssClass.HasPagination);
}
}
prepareConfigs() {
this._prepareCarouselItems();
this._splideOptions = this.configs.getProviderConfig();
this._initProvider();
}
setA11YProperties() {
console.warn(OSFramework.OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
setCallbacks() {
this._eventOnResize = this._redefineCarouselWidth.bind(this);
OSFramework.OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.addHandler(OSFramework.OSUI.Event.DOMEvents.Listeners.Type.WindowResize, this._eventOnResize);
}
setHtmlElements() {
this._carouselPlaceholderElem = OSFramework.OSUI.Helper.Dom.ClassSelector(this.selfElement, OSFramework.OSUI.Patterns.Carousel.Enum.CssClass.Content);
this._carouselTrackElem = OSFramework.OSUI.Helper.Dom.ClassSelector(this.selfElement, OSFramework.OSUI.Patterns.Carousel.Enum.CssClass.Track);
}
setInitialCssClasses() {
if (this._hasList) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(this._carouselTrackElem, Splide.Enum.CssClass.SplideWrapper);
OSFramework.OSUI.Helper.Dom.Styles.AddClass(this._carouselPlaceholderElem, Splide.Enum.CssClass.SplideTrack);
OSFramework.OSUI.Helper.Dom.Styles.AddClass(this._carouselListWidgetElem, Splide.Enum.CssClass.SplideList);
}
else {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(this.selfElement, Splide.Enum.CssClass.SplideWrapper);
OSFramework.OSUI.Helper.Dom.Styles.AddClass(this._carouselTrackElem, Splide.Enum.CssClass.SplideTrack);
OSFramework.OSUI.Helper.Dom.Styles.AddClass(this._carouselPlaceholderElem, Splide.Enum.CssClass.SplideList);
}
this._togglePaginationClass();
}
unsetCallbacks() {
OSFramework.OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.removeHandler(OSFramework.OSUI.Event.DOMEvents.Listeners.Type.WindowResize, this._eventOnResize);
this._eventOnResize = undefined;
this._platformEventOnSlideMoved = undefined;
super.unsetCallbacks();
}
unsetHtmlElements() {
this._carouselPlaceholderElem = undefined;
this._carouselTrackElem = undefined;
}
build() {
super.build();
this.setHtmlElements();
this.setCallbacks();
this._checkListWidget();
this.setInitialCssClasses();
this.prepareConfigs();
this.finishBuild();
}
changeProperty(propertyName, propertyValue) {
super.changeProperty(propertyName, propertyValue);
if (this.isBuilt) {
this.toggleOnRender(true);
switch (propertyName) {
case OSFramework.OSUI.Patterns.Carousel.Enum.Properties.StartingPosition:
console.warn(`Carousel (${this.widgetId}): changes to ${OSFramework.OSUI.Patterns.Carousel.Enum.Properties.StartingPosition} parameter do not affect the carousel. Use the client action 'CarouselGoTo' to change the current item.`);
break;
case OSFramework.OSUI.Patterns.Carousel.Enum.Properties.Navigation:
case OSFramework.OSUI.Patterns.Carousel.Enum.Properties.AutoPlay:
case OSFramework.OSUI.Patterns.Carousel.Enum.Properties.Loop:
case OSFramework.OSUI.Patterns.Carousel.Enum.Properties.ItemsDesktop:
case OSFramework.OSUI.Patterns.Carousel.Enum.Properties.ItemsTablet:
case OSFramework.OSUI.Patterns.Carousel.Enum.Properties.ItemsPhone:
this.redraw();
break;
case OSFramework.OSUI.Patterns.Carousel.Enum.Properties.Height:
this.provider.options = { height: propertyValue };
break;
case OSFramework.OSUI.Patterns.Carousel.Enum.Properties.Padding:
this.provider.options = { padding: propertyValue };
break;
case OSFramework.OSUI.Patterns.Carousel.Enum.Properties.ItemsGap:
this.provider.options = { gap: propertyValue };
break;
}
}
OSFramework.OSUI.Helper.AsyncInvocation(this.toggleOnRender.bind(this), false);
}
dispose() {
if (this.isBuilt) {
this.provider.destroy();
}
this.unsetCallbacks();
this.unsetHtmlElements();
super.dispose();
}
goTo(index) {
this.provider.go(index);
}
next() {
this.provider.go(Splide.Enum.Go.Next);
}
previous() {
this.provider.go(Splide.Enum.Go.Previous);
}
registerCallback(eventName, callback) {
switch (eventName) {
case OSFramework.OSUI.Patterns.Carousel.Enum.CarouselEvents.OnSlideMoved:
this._platformEventOnSlideMoved = callback;
break;
default:
super.registerCallback(eventName, callback);
break;
}
}
setCarouselDirection(direction) {
if (direction === OSFramework.OSUI.Patterns.Carousel.Enum.Direction.None &&
OutSystems.OSUI.Utils.GetIsRTL()) {
this.configs.Direction = OSFramework.OSUI.GlobalEnum.Direction.RTL;
}
else if (direction === OSFramework.OSUI.Patterns.Carousel.Enum.Direction.RightToLeft &&
this.configs.AutoPlay) {
this.configs.Direction = OSFramework.OSUI.GlobalEnum.Direction.RTL;
}
else {
this.configs.Direction = OSFramework.OSUI.GlobalEnum.Direction.LTR;
}
this.redraw();
}
setProviderConfigs(newConfigs) {
this.configs.setExtensibilityConfigs(newConfigs);
this.redraw();
super.setProviderConfigs(newConfigs);
}
toggleDrag(hasDrag) {
this.provider.options = { drag: hasDrag };
}
toggleOnRender(blockOnRender) {
this._blockOnRender = blockOnRender;
}
updateOnRender() {
if (this._blockOnRender === false) {
this.setInitialCssClasses();
if (typeof this.provider === 'object') {
if (this._currentIndex !== undefined || this.configs.AutoPlay === true) {
this.configs.StartingPosition = this.provider.index;
}
this.redraw();
}
}
}
}
Splide.OSUISplide = OSUISplide;
})(Splide = Carousel.Splide || (Carousel.Splide = {}));
})(Carousel = OSUI.Carousel || (OSUI.Carousel = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Carousel;
(function (Carousel) {
var Splide;
(function (Splide) {
class SplideConfig extends OSFramework.OSUI.Patterns.Carousel.AbstractCarouselConfig {
_getArrowConfig() {
let arrows;
switch (this.Navigation) {
case OSFramework.OSUI.Patterns.Carousel.Enum.Navigation.None:
arrows = false;
break;
case OSFramework.OSUI.Patterns.Carousel.Enum.Navigation.Dots:
arrows = false;
break;
case OSFramework.OSUI.Patterns.Carousel.Enum.Navigation.Arrows:
arrows = true;
break;
case OSFramework.OSUI.Patterns.Carousel.Enum.Navigation.Both:
arrows = true;
break;
}
return arrows;
}
_getDirectionConfig() {
let direction;
if (this.Direction === undefined && OutSystems.OSUI.Utils.GetIsRTL()) {
direction = OSFramework.OSUI.GlobalEnum.Direction.RTL;
}
else {
direction = this.Direction || OSFramework.OSUI.GlobalEnum.Direction.LTR;
}
return direction;
}
_getPaginationConfig() {
let pagination;
switch (this.Navigation) {
case OSFramework.OSUI.Patterns.Carousel.Enum.Navigation.None:
pagination = false;
break;
case OSFramework.OSUI.Patterns.Carousel.Enum.Navigation.Dots:
pagination = true;
break;
case OSFramework.OSUI.Patterns.Carousel.Enum.Navigation.Arrows:
pagination = false;
break;
case OSFramework.OSUI.Patterns.Carousel.Enum.Navigation.Both:
pagination = true;
break;
}
return pagination;
}
getProviderConfig() {
this._providerOptions = {
arrows: this._getArrowConfig(),
breakpoints: {
768: {
perPage: this.ItemsPhone,
},
1024: {
perPage: this.ItemsTablet,
},
},
keyboard: Splide.Enum.KeyboardOptions.Focused,
direction: this._getDirectionConfig(),
height: this.Height,
type: this.Loop ? Splide.Enum.TypeOptions.Loop : Splide.Enum.TypeOptions.Slide,
focus: 0,
perPage: this.ItemsDesktop,
autoplay: this.AutoPlay,
padding: this.Padding,
pagination: this._getPaginationConfig(),
gap: this.ItemsGap,
start: this.StartingPosition,
snap: true,
dragMinThreshold: 30,
};
return this.mergeConfigs(this._providerOptions, undefined, this._providerExtendedOptions);
}
setExtensibilityConfigs(newConfigs) {
this._providerExtendedOptions = newConfigs;
}
}
Splide.SplideConfig = SplideConfig;
})(Splide = Carousel.Splide || (Carousel.Splide = {}));
})(Carousel = OSUI.Carousel || (OSUI.Carousel = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Carousel;
(function (Carousel) {
var Splide;
(function (Splide) {
var Utils;
(function (Utils) {
function NormalizeSplideConfigs(splideConfigs) {
return OutSystems.OSUI.Utils.AbstractNormalizeProviderConfigs(splideConfigs);
}
Utils.NormalizeSplideConfigs = NormalizeSplideConfigs;
})(Utils = Splide.Utils || (Splide.Utils = {}));
})(Splide = Carousel.Splide || (Carousel.Splide = {}));
})(Carousel = OSUI.Carousel || (OSUI.Carousel = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Datepicker;
(function (Datepicker) {
var Flatpickr;
(function (Flatpickr) {
class AbstractFlatpickr extends OSFramework.OSUI.Patterns.DatePicker.AbstractDatePicker {
constructor(uniqueId, configs) {
super(uniqueId, configs);
this.onCloseCustomCallback = undefined;
this.configs.OnChange = this.onDateSelectedEvent.bind(this);
this.configs.OnClose = this.onDatePickerClose.bind(this);
this.configs.OnOpen = this.onDatePickerOpen.bind(this);
}
_setAttributes() {
if (this.datePickerPlatformInputElem.nextSibling) {
this.flatpickrInputElem = this.datePickerPlatformInputElem.nextSibling;
OSFramework.OSUI.Helper.Dom.Attribute.Set(this.flatpickrInputElem, OSFramework.OSUI.GlobalEnum.HTMLAttributes.DataInput, '');
if (this.flatpickrInputElem.disabled) {
OSFramework.OSUI.Helper.Dom.Attribute.Remove(this.flatpickrInputElem, OSFramework.OSUI.GlobalEnum.HTMLAttributes.Disabled);
}
}
}
_setCalendarCssClasses() {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(this.provider.calendarContainer, OSFramework.OSUI.Patterns.DatePicker.Enum.CssClass.Calendar);
if (this.configs.ExtendedClass !== '') {
OSFramework.OSUI.Helper.Dom.Styles.ExtendedClass(this.provider.calendarContainer, '', this.configs.ExtendedClass);
}
}
_setParentMinHeight() {
OSFramework.OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, OSFramework.OSUI.GlobalEnum.InlineStyle.Height, this.selfElement.clientHeight + OSFramework.OSUI.GlobalEnum.Units.Pixel);
}
_todayButtonKeydown(e) {
switch (e.key) {
case OSFramework.OSUI.GlobalEnum.Keycodes.Tab:
return;
case OSFramework.OSUI.GlobalEnum.Keycodes.Enter:
case OSFramework.OSUI.GlobalEnum.Keycodes.Space:
e.preventDefault();
this.provider.setDate(this.provider.now, true);
this.jumpIntoToday();
break;
}
}
_unsetParentMinHeight() {
OSFramework.OSUI.Helper.Dom.Styles.RemoveStyleAttribute(this.selfElement, OSFramework.OSUI.GlobalEnum.InlineStyle.Height);
}
_updateA11yProperties() {
OSFramework.OSUI.Helper.Dom.Attribute.Set(this.flatpickrInputElem, OSFramework.OSUI.Constants.A11YAttributes.TabIndex, this._isPlatformInputDisabled
? OSFramework.OSUI.Constants.A11YAttributes.States.TabIndexHidden
: OSFramework.OSUI.Constants.A11YAttributes.States.TabIndexShow);
OSFramework.OSUI.Helper.Dom.Attribute.Set(this.flatpickrInputElem, OSFramework.OSUI.Constants.A11YAttributes.Aria.Hidden, this._isPlatformInputDisabled.toString());
}
addTodayBtn() {
this._todayButtonElem = document.createElement(OSFramework.OSUI.GlobalEnum.HTMLElement.Div);
this._todayButtonElem.classList.add(Flatpickr.Enum.CssClasses.TodayBtn);
const todayBtn = document.createElement(OSFramework.OSUI.GlobalEnum.HTMLElement.Link);
if (this.provider.isOpen) {
OSFramework.OSUI.Helper.A11Y.TabIndexTrue(todayBtn);
}
else {
OSFramework.OSUI.Helper.A11Y.TabIndexFalse(todayBtn);
}
const langCode = Flatpickr.l10ns.TodayBtn[this.configs.Lang] !== undefined ? this.configs.Lang : 'en';
todayBtn.innerHTML = Flatpickr.l10ns.TodayBtn[langCode].title;
OSFramework.OSUI.Helper.A11Y.AriaLabel(todayBtn, Flatpickr.l10ns.TodayBtn[langCode].ariaLabel);
todayBtn.addEventListener(OSFramework.OSUI.GlobalEnum.HTMLEvent.Click, this.todayBtnClick.bind(this));
todayBtn.addEventListener(OSFramework.OSUI.GlobalEnum.HTMLEvent.keyDown, this._todayButtonKeydown.bind(this));
this._todayButtonElem.appendChild(todayBtn);
this._providerFocusSpanTarget = this.provider.calendarContainer.querySelector('.focus-trap-bottom-element');
if (this._providerFocusSpanTarget) {
this.provider.calendarContainer.insertBefore(this._todayButtonElem, this._providerFocusSpanTarget);
}
else {
this.provider.calendarContainer.appendChild(this._todayButtonElem);
}
}
createProviderInstance() {
this.provider = window.flatpickr(this.datePickerPlatformInputElem, this.flatpickrOpts);
this.updateProviderEvents({
name: OSUI.SharedProviderResources.Flatpickr.Enum.ProviderInfo.Name,
version: OSUI.SharedProviderResources.Flatpickr.Enum.ProviderInfo.Version,
events: this.provider.config,
});
this._setAttributes();
this.updatePlatformInputAttrs();
this.setA11YProperties();
if (this.provider.calendarContainer !== undefined) {
if (this.configs.DisableMobile === true ||
OSFramework.OSUI.Helper.DeviceInfo.IsDesktop ||
this.configs.CalendarMode === OSFramework.OSUI.Patterns.DatePicker.Enum.Mode.Range) {
if (this.configs.ShowTodayButton) {
this.addTodayBtn();
}
this._setCalendarCssClasses();
this._bodyScrollCommonBehaviour = new OSUI.SharedProviderResources.Flatpickr.UpdatePositionOnScroll(this);
this._zindexCommonBehavior = new OSUI.SharedProviderResources.Flatpickr.UpdateZindex(this);
}
}
if (this.flatpickrInputElem !== undefined && this.isBuilt) {
OSFramework.OSUI.Helper.Dom.Styles.RemoveClass(this.flatpickrInputElem, OSFramework.OSUI.GlobalEnum.CssClassElements.InputNotValid);
}
this._unsetParentMinHeight();
this.triggerPlatformInitializedEventCallback();
}
jumpIntoToday() {
this.provider.jumpToDate(this.provider.now);
}
onDatePickerClose() {
if (this.provider.selectedDates.length === 0) {
this.onDateSelectedEvent(this.provider.selectedDates);
}
if (this.configs.ShowTodayButton && this._todayButtonElem) {
OSFramework.OSUI.Helper.A11Y.TabIndexFalse(this._todayButtonElem.querySelector(OSFramework.OSUI.GlobalEnum.HTMLElement.Link));
}
if (this.onCloseCustomCallback !== undefined &&
typeof this.onCloseCustomCallback === OSFramework.OSUI.Constants.JavaScriptTypes.Function) {
this.onCloseCustomCallback(this.provider);
}
}
onDatePickerOpen() {
if (this.configs.ShowTodayButton && this._todayButtonElem) {
OSFramework.OSUI.Helper.A11Y.TabIndexTrue(this._todayButtonElem.querySelector(OSFramework.OSUI.GlobalEnum.HTMLElement.Link));
}
}
prepareConfigs() {
this.flatpickrOpts = this.configs.getProviderConfig();
this.createProviderInstance();
}
prepareToAndRedraw() {
this._setParentMinHeight();
this.redraw();
}
setA11YProperties() {
if (this.provider.calendarContainer !== undefined && this.flatpickrInputElem !== undefined) {
OSFramework.OSUI.Helper.Dom.Attribute.Set(this.datePickerPlatformInputElem, OSFramework.OSUI.Constants.A11YAttributes.TabIndex, OSFramework.OSUI.Constants.A11YAttributes.States.TabIndexHidden);
OSFramework.OSUI.Helper.Dom.Attribute.Set(this.datePickerPlatformInputElem, OSFramework.OSUI.Constants.A11YAttributes.Aria.Hidden, OSFramework.OSUI.Constants.A11YAttributes.States.True);
OSFramework.OSUI.Helper.Dom.Attribute.Set(this._a11yInfoContainerElem, OSFramework.OSUI.Constants.A11YAttributes.Aria.Hidden, OSFramework.OSUI.Constants.A11YAttributes.States.True);
this._updateA11yProperties();
let ariaLabelValue = Flatpickr.Enum.Attribute.DefaultAriaLabel;
if (this.datePickerPlatformInputElem.hasAttribute(OSFramework.OSUI.Constants.A11YAttributes.Aria.Label)) {
ariaLabelValue = this.datePickerPlatformInputElem.getAttribute(OSFramework.OSUI.Constants.A11YAttributes.Aria.Label);
}
OSFramework.OSUI.Helper.A11Y.AriaLabel(this.flatpickrInputElem, ariaLabelValue);
if (OSFramework.OSUI.Helper.DeviceInfo.IsDesktop)
OSFramework.OSUI.Helper.A11Y.AriaDescribedBy(this.flatpickrInputElem, this._a11yInfoContainerElem.id);
if (this.configs.Lang !== OSFramework.OSUI.Constants.Language.short) {
this._a11yInfoContainerElem.innerHTML =
Datepicker.Flatpickr.l10ns.A11yContainerInfo[this.configs.Lang] !== undefined
? Datepicker.Flatpickr.l10ns.A11yContainerInfo[this.configs.Lang].htmlTex
: Datepicker.Flatpickr.l10ns.A11yContainerInfo.en.htmlTex;
}
}
}
setCallbacks() {
console.log(OSFramework.OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
setHtmlElements() {
this.datePickerPlatformInputElem = this.selfElement.querySelector('input.form-control');
this._isPlatformInputDisabled = this.datePickerPlatformInputElem.disabled;
this._a11yInfoContainerElem = OSFramework.OSUI.Helper.Dom.TagSelector(this.selfElement.parentElement, OSFramework.OSUI.Constants.Dot + Flatpickr.Enum.CssClasses.AccessibilityContainerInfo);
if (!this.datePickerPlatformInputElem) {
throw new Error(`The datepicker input at DatepickerId '${this.widgetId}' is missing`);
}
}
unsetCallbacks() {
this.configs.OnChange = undefined;
this.onSelectedCallbackEvent = undefined;
super.unsetCallbacks();
}
unsetHtmlElements() {
this._a11yInfoContainerElem = undefined;
this.datePickerPlatformInputElem = undefined;
}
build() {
super.build();
this.setHtmlElements();
}
changeProperty(propertyName, propertyValue) {
const oldExtendedClass = this.configs.ExtendedClass;
super.changeProperty(propertyName, propertyValue);
if (this.isBuilt) {
switch (propertyName) {
case OSFramework.OSUI.Patterns.DatePicker.Enum.Properties.FirstWeekDay:
case OSFramework.OSUI.Patterns.DatePicker.Enum.Properties.MaxDate:
case OSFramework.OSUI.Patterns.DatePicker.Enum.Properties.MinDate:
case OSFramework.OSUI.Patterns.DatePicker.Enum.Properties.ShowTodayButton:
case OSFramework.OSUI.Patterns.DatePicker.Enum.Properties.ShowWeekNumbers:
this.prepareToAndRedraw();
break;
case OSFramework.OSUI.GlobalEnum.CommonPatternsProperties.ExtendedClass:
OSFramework.OSUI.Helper.Dom.Styles.ExtendedClass(this.provider.calendarContainer, oldExtendedClass, propertyValue);
break;
}
}
}
clear() {
const isInputDisable = this.datePickerPlatformInputElem.disabled;
if (isInputDisable === false) {
this.provider.clear();
}
}
close() {
if (this.provider.isOpen) {
this.provider.close();
if (this.configs.ShowTodayButton) {
OSFramework.OSUI.Helper.A11Y.TabIndexFalse(this._todayButtonElem);
}
}
}
disableDays(disableDays) {
this.configs.DisabledDays = disableDays;
this.prepareToAndRedraw();
}
disableWeekDays(disableWeekDays) {
this.configs.DisabledWeekDays = disableWeekDays;
this.prepareToAndRedraw();
}
dispose() {
if (this.isBuilt) {
this.unsetCallbacks();
this.unsetHtmlElements();
if (this._bodyScrollCommonBehaviour !== undefined) {
this._bodyScrollCommonBehaviour.dispose();
this._bodyScrollCommonBehaviour = undefined;
}
OSFramework.OSUI.Helper.AsyncInvocation(this.provider.destroy);
}
super.dispose();
}
onRender() {
const isInputDisable = this.datePickerPlatformInputElem.disabled;
if (this._isPlatformInputDisabled !== isInputDisable) {
this._isPlatformInputDisabled = isInputDisable;
this._updateA11yProperties();
}
}
open() {
const isInputDisable = this.datePickerPlatformInputElem.disabled;
if (this.provider.isOpen === false && isInputDisable === false) {
this.provider.open();
if (this.flatpickrInputElem) {
this.flatpickrInputElem.focus();
}
if (this.configs.ShowTodayButton) {
OSFramework.OSUI.Helper.A11Y.TabIndexTrue(this._todayButtonElem);
}
}
}
registerCallback(eventName, callback) {
switch (eventName) {
case OSFramework.OSUI.Patterns.DatePicker.Enum.DatePickerEvents.OnChange:
this.onSelectedCallbackEvent = callback;
break;
default:
super.registerCallback(eventName, callback);
break;
}
}
setEditableInput(isEditable) {
if (this.configs.AllowInput !== isEditable) {
this.configs.AllowInput = isEditable;
this.prepareToAndRedraw();
}
}
setLanguage(value) {
this.configs.Lang = value.toLowerCase();
if (this.provider !== undefined) {
this.prepareToAndRedraw();
}
}
setProviderConfigs(newConfigs) {
this.configs.setExtensibilityConfigs(newConfigs);
this.prepareToAndRedraw();
super.setProviderConfigs(newConfigs);
}
updatePrompt(promptMessage) {
this.flatpickrInputElem.placeholder = promptMessage;
}
}
Flatpickr.AbstractFlatpickr = AbstractFlatpickr;
})(Flatpickr = Datepicker.Flatpickr || (Datepicker.Flatpickr = {}));
})(Datepicker = OSUI.Datepicker || (OSUI.Datepicker = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Datepicker;
(function (Datepicker) {
var Flatpickr;
(function (Flatpickr) {
class AbstractFlatpickrConfig extends OSFramework.OSUI.Patterns.DatePicker
.AbstractDatePickerConfig {
constructor(config) {
super(config);
this._disabledDays = [];
this._disabledWeekDays = [];
this.AllowInput = false;
this.Disable = [];
this.DisableMobile = false;
this._lang = OSFramework.OSUI.Helper.Language.ShortLang;
}
_checkAltFormat() {
let _altFormat = this.DateFormat !== '' ? this._mapProviderDateFormat() : this.ServerDateFormat;
if (this.TimeFormat === OSFramework.OSUI.Patterns.DatePicker.Enum.TimeFormatMode.Time12hFormat) {
_altFormat = _altFormat + ' - h:i K';
}
else if (this.TimeFormat === OSFramework.OSUI.Patterns.DatePicker.Enum.TimeFormatMode.Time24hFormat) {
_altFormat = _altFormat + ' - H:i';
}
return _altFormat;
}
_checkDisableWeeksDay(date) {
return this._disabledWeekDays.indexOf(date.getDay()) > -1;
}
_checkLocale() {
let _locale = window.flatpickr.l10ns.en;
try {
_locale = window.flatpickr.l10ns[this._lang];
_locale.firstDayOfWeek = this.FirstWeekDay;
}
catch (error) {
console.error(`${Flatpickr.ErrorCodes.FailSetLocale}: Locale '${this._lang}' not found!`);
}
return _locale;
}
_mapProviderDateFormat() {
const _dateFormat = this.DateFormat.replace(/[^a-zA-Z]/g, ' ').split(' ');
for (const format of _dateFormat) {
switch (format) {
case OSFramework.OSUI.GlobalEnum.DateFormat.YYYY:
this.DateFormat = this.DateFormat.replace(OSFramework.OSUI.GlobalEnum.DateFormat.YYYY, OSFramework.OSUI.GlobalEnum.DateFormat.Y);
break;
case OSFramework.OSUI.GlobalEnum.DateFormat.YY:
this.DateFormat = this.DateFormat.replace(OSFramework.OSUI.GlobalEnum.DateFormat.YY, OSFramework.OSUI.GlobalEnum.DateFormat.y);
break;
case OSFramework.OSUI.GlobalEnum.DateFormat.MMM:
this.DateFormat = this.DateFormat.replace(OSFramework.OSUI.GlobalEnum.DateFormat.MMM, OSFramework.OSUI.GlobalEnum.DateFormat.M);
break;
case OSFramework.OSUI.GlobalEnum.DateFormat.MM:
this.DateFormat = this.DateFormat.replace(OSFramework.OSUI.GlobalEnum.DateFormat.MM, OSFramework.OSUI.GlobalEnum.DateFormat.m);
break;
case OSFramework.OSUI.GlobalEnum.DateFormat.DDD:
this.DateFormat = this.DateFormat.replace(OSFramework.OSUI.GlobalEnum.DateFormat.DDD, OSFramework.OSUI.GlobalEnum.DateFormat.D);
break;
case OSFramework.OSUI.GlobalEnum.DateFormat.DD:
this.DateFormat = this.DateFormat.replace(OSFramework.OSUI.GlobalEnum.DateFormat.DD, OSFramework.OSUI.GlobalEnum.DateFormat.d);
break;
}
}
return this.DateFormat;
}
_setDisable() {
this.Disable = [];
if (this._disabledWeekDays.length > 0) {
this.Disable.push((date) => {
return this._checkDisableWeeksDay(date);
});
}
if (this._disabledDays.length > 0) {
for (const date of this._disabledDays) {
this.Disable.push(date);
}
}
}
_validateDate(date, isMaxDate) {
const _finalDate = date;
if (OSFramework.OSUI.Helper.Dates.IsNull(_finalDate)) {
return undefined;
}
else if (this._isUsingDateTime) {
return _finalDate;
}
else {
return OSFramework.OSUI.Helper.Dates.NormalizeDateTime(_finalDate, isMaxDate);
}
}
getProviderConfig() {
this._isUsingDateTime =
this.TimeFormat !== OSFramework.OSUI.Patterns.DatePicker.Enum.TimeFormatMode.Disable;
this._setDisable();
this._providerOptions = {
altFormat: this._checkAltFormat(),
altInput: true,
allowInput: this.AllowInput,
disable: this.Disable.length === 0 ? undefined : this.Disable,
disableMobile: this.DisableMobile,
dateFormat: this._isUsingDateTime
? this.ServerDateFormat + ' H:i:S'
: this.ServerDateFormat,
maxDate: this._validateDate(this.MaxDate, true),
minDate: this._validateDate(this.MinDate),
onChange: this.OnChange,
onClose: this.OnClose,
onOpen: this.OnOpen,
time_24hr: this.TimeFormat === OSFramework.OSUI.Patterns.DatePicker.Enum.TimeFormatMode.Time24hFormat,
updateInputVal: false,
weekNumbers: this.ShowWeekNumbers,
};
if (this._providerOptions.locale === undefined) {
this._providerOptions.locale = this._checkLocale();
}
return this._providerOptions;
}
setExtensibilityConfigs(newConfigs) {
this.providerExtendedOptions = newConfigs;
}
get Lang() {
return this._lang;
}
set Lang(value) {
this._lang = value.substring(0, 2);
}
get ServerDateFormat() {
return OSFramework.OSUI.Helper.Dates.ServerFormat.replace(OSFramework.OSUI.GlobalEnum.DateFormat.YYYY, OSFramework.OSUI.GlobalEnum.DateFormat.Y)
.replace(OSFramework.OSUI.GlobalEnum.DateFormat.MM, OSFramework.OSUI.GlobalEnum.DateFormat.m)
.replace(OSFramework.OSUI.GlobalEnum.DateFormat.DD, OSFramework.OSUI.GlobalEnum.DateFormat.d);
}
set DisabledDays(value) {
this._disabledDays = value;
}
set DisabledWeekDays(value) {
this._disabledWeekDays = value;
}
}
Flatpickr.AbstractFlatpickrConfig = AbstractFlatpickrConfig;
})(Flatpickr = Datepicker.Flatpickr || (Datepicker.Flatpickr = {}));
})(Datepicker = OSUI.Datepicker || (OSUI.Datepicker = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Datepicker;
(function (Datepicker) {
var Flatpickr;
(function (Flatpickr) {
Flatpickr.ErrorCodes = {
FailSetLocale: 'OSUI-PRO-02001',
};
})(Flatpickr = Datepicker.Flatpickr || (Datepicker.Flatpickr = {}));
})(Datepicker = OSUI.Datepicker || (OSUI.Datepicker = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Datepicker;
(function (Datepicker) {
var Flatpickr;
(function (Flatpickr) {
var Enum;
(function (Enum) {
let Attribute;
(function (Attribute) {
Attribute["DefaultAriaLabel"] = "Select a date.";
})(Attribute = Enum.Attribute || (Enum.Attribute = {}));
let CssClasses;
(function (CssClasses) {
CssClasses["AccessibilityContainerInfo"] = "osui-datepicker-a11y";
CssClasses["TodayBtn"] = "flatpickr-today-button";
})(CssClasses = Enum.CssClasses || (Enum.CssClasses = {}));
let CSSSelectors;
(function (CSSSelectors) {
CSSSelectors["DatepickerNotValid"] = "osui-datepicker .not-valid + .input";
})(CSSSelectors = Enum.CSSSelectors || (Enum.CSSSelectors = {}));
let DisableDate;
(function (DisableDate) {
DisableDate["Weekdays"] = "Weekdays";
})(DisableDate = Enum.DisableDate || (Enum.DisableDate = {}));
})(Enum = Flatpickr.Enum || (Flatpickr.Enum = {}));
})(Flatpickr = Datepicker.Flatpickr || (Datepicker.Flatpickr = {}));
})(Datepicker = OSUI.Datepicker || (OSUI.Datepicker = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Datepicker;
(function (Datepicker) {
var Flatpickr;
(function (Flatpickr) {
var Factory;
(function (Factory) {
function NewFlatpickr(datePickerId, mode, configs) {
let _flatpickrItem = null;
switch (mode) {
case OSFramework.OSUI.Patterns.DatePicker.Enum.Mode.Single:
_flatpickrItem = new Providers.OSUI.Datepicker.Flatpickr.SingleDate.OSUIFlatpickrSingleDate(datePickerId, JSON.parse(configs));
break;
case OSFramework.OSUI.Patterns.DatePicker.Enum.Mode.Range:
_flatpickrItem = new Providers.OSUI.Datepicker.Flatpickr.RangeDate.OSUIFlatpickrRangeDate(datePickerId, JSON.parse(configs));
break;
default:
throw new Error(`There is no Flatpickr of ${mode} type`);
}
return _flatpickrItem;
}
Factory.NewFlatpickr = NewFlatpickr;
})(Factory = Flatpickr.Factory || (Flatpickr.Factory = {}));
})(Flatpickr = Datepicker.Flatpickr || (Datepicker.Flatpickr = {}));
})(Datepicker = OSUI.Datepicker || (OSUI.Datepicker = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Datepicker;
(function (Datepicker) {
var Flatpickr;
(function (Flatpickr) {
var RangeDate;
(function (RangeDate) {
var Enum;
(function (Enum) {
let Properties;
(function (Properties) {
Properties["InitialEndDate"] = "InitialEndDate";
Properties["InitialStartDate"] = "InitialStartDate";
})(Properties = Enum.Properties || (Enum.Properties = {}));
})(Enum = RangeDate.Enum || (RangeDate.Enum = {}));
})(RangeDate = Flatpickr.RangeDate || (Flatpickr.RangeDate = {}));
})(Flatpickr = Datepicker.Flatpickr || (Datepicker.Flatpickr = {}));
})(Datepicker = OSUI.Datepicker || (OSUI.Datepicker = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Datepicker;
(function (Datepicker) {
var Flatpickr;
(function (Flatpickr) {
var RangeDate;
(function (RangeDate) {
class OSUIFlatpickrRangeDate extends Flatpickr.AbstractFlatpickr {
constructor(uniqueId, configs) {
super(uniqueId, new RangeDate.FlatpickrRangeDateConfig(configs));
}
_onUpdateDateFormat() {
if (this.provider.selectedDates.length > 0) {
this.configs.InitialStartDate = this.provider.formatDate(this.provider.selectedDates[0], this.flatpickrOpts.dateFormat);
if (this.provider.selectedDates[1]) {
this.configs.InitialEndDate = this.provider.formatDate(this.provider.selectedDates[1], this.flatpickrOpts.dateFormat);
}
}
this.prepareToAndRedraw();
}
_updateInitialStartAndEndDates() {
if (this.configs.InitialStartDate !== undefined &&
this.configs.InitialEndDate !== undefined &&
OSFramework.OSUI.Helper.Dates.IsBeforeThan(this.configs.InitialStartDate, this.configs.InitialEndDate) === false) {
console.error(`Given StartDate:'${this.provider.formatDate(this.configs.InitialStartDate, this.configs.ServerDateFormat)}' can not be greater than given EndDate:'${this.provider.formatDate(this.configs.InitialEndDate, this.configs.ServerDateFormat)}'.`);
}
else {
this.prepareToAndRedraw();
}
}
onDateSelectedEvent(selectedDates) {
const _selectedDate = [];
if (selectedDates.length > 0) {
_selectedDate[0] = this.provider.formatDate(selectedDates[0], this.flatpickrOpts.dateFormat);
if (selectedDates[1]) {
_selectedDate[1] = this.provider.formatDate(selectedDates[1], this.flatpickrOpts.dateFormat);
}
}
if (selectedDates.length === 0 || selectedDates.length === 2) {
OSFramework.OSUI.Helper.Dom.SetInputValue(this.datePickerPlatformInputElem, this.flatpickrInputElem.value);
this.triggerPlatformEventCallback(this.onSelectedCallbackEvent, _selectedDate[0], _selectedDate[1]);
}
}
todayBtnClick(event) {
event.preventDefault();
this.jumpIntoToday();
}
updatePlatformInputAttrs() {
OSFramework.OSUI.Helper.Dom.Attribute.Set(this.datePickerPlatformInputElem, OSFramework.OSUI.GlobalEnum.HTMLAttributes.Type, OSFramework.OSUI.GlobalEnum.InputTypeAttr.Text);
}
build() {
super.build();
this.prepareConfigs();
this.finishBuild();
}
changeProperty(propertyName, propertyValue) {
super.changeProperty(propertyName, propertyValue);
if (this.isBuilt) {
switch (propertyName) {
case OSFramework.OSUI.Patterns.DatePicker.Enum.Properties.DateFormat:
this._onUpdateDateFormat();
break;
case RangeDate.Enum.Properties.InitialEndDate:
case RangeDate.Enum.Properties.InitialStartDate:
this._updateInitialStartAndEndDates();
break;
}
}
}
toggleNativeBehavior() {
console.log(OSFramework.OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
updateInitialDate(startDate, endDate) {
if (OSFramework.OSUI.Helper.Dates.IsNull(startDate) === false &&
OSFramework.OSUI.Helper.Dates.IsNull(endDate) === false &&
this.datePickerPlatformInputElem.disabled === false) {
this.configs.InitialStartDate = startDate;
this.configs.InitialEndDate = endDate;
if (OSFramework.OSUI.Helper.Dates.IsBeforeThan(startDate, endDate)) {
this.prepareToAndRedraw();
}
else {
console.error(`Given StartDate:'${this.provider.formatDate(this.configs.InitialStartDate, this.configs.ServerDateFormat)}' can not be greater than given EndDate:'${this.provider.formatDate(this.configs.InitialEndDate, this.configs.ServerDateFormat)}'.`);
}
}
}
}
RangeDate.OSUIFlatpickrRangeDate = OSUIFlatpickrRangeDate;
})(RangeDate = Flatpickr.RangeDate || (Flatpickr.RangeDate = {}));
})(Flatpickr = Datepicker.Flatpickr || (Datepicker.Flatpickr = {}));
})(Datepicker = OSUI.Datepicker || (OSUI.Datepicker = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Datepicker;
(function (Datepicker) {
var Flatpickr;
(function (Flatpickr) {
var RangeDate;
(function (RangeDate) {
class FlatpickrRangeDateConfig extends Flatpickr.AbstractFlatpickrConfig {
constructor(config) {
super(config);
this.CalendarMode = OSFramework.OSUI.Patterns.DatePicker.Enum.Mode.Range;
}
_setDefaultDate() {
if (OSFramework.OSUI.Helper.Dates.IsNull(this.InitialStartDate)) {
this.InitialStartDate = undefined;
}
if (OSFramework.OSUI.Helper.Dates.IsNull(this.InitialEndDate)) {
this.InitialEndDate = undefined;
}
if (this.InitialEndDate !== undefined &&
this.InitialStartDate !== undefined &&
OSFramework.OSUI.Helper.Dates.IsBeforeThan(this.InitialStartDate, this.InitialEndDate) === false) {
throw new Error(`StartDate '${this.InitialStartDate}' can't be after EndDate '${this.InitialEndDate}'`);
}
return [this.InitialStartDate, this.InitialEndDate];
}
getProviderConfig() {
const flatpickrRangeDateOpts = {
defaultDate: this._setDefaultDate(),
mode: OSFramework.OSUI.Patterns.DatePicker.Enum.Mode.Range,
};
return this.mergeConfigs(super.getProviderConfig(), flatpickrRangeDateOpts, this.providerExtendedOptions);
}
}
RangeDate.FlatpickrRangeDateConfig = FlatpickrRangeDateConfig;
})(RangeDate = Flatpickr.RangeDate || (Flatpickr.RangeDate = {}));
})(Flatpickr = Datepicker.Flatpickr || (Datepicker.Flatpickr = {}));
})(Datepicker = OSUI.Datepicker || (OSUI.Datepicker = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Datepicker;
(function (Datepicker) {
var Flatpickr;
(function (Flatpickr) {
var SingleDate;
(function (SingleDate) {
var Enum;
(function (Enum) {
let Properties;
(function (Properties) {
Properties["InitialDate"] = "InitialDate";
})(Properties = Enum.Properties || (Enum.Properties = {}));
})(Enum = SingleDate.Enum || (SingleDate.Enum = {}));
})(SingleDate = Flatpickr.SingleDate || (Flatpickr.SingleDate = {}));
})(Flatpickr = Datepicker.Flatpickr || (Datepicker.Flatpickr = {}));
})(Datepicker = OSUI.Datepicker || (OSUI.Datepicker = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Datepicker;
(function (Datepicker) {
var Flatpickr;
(function (Flatpickr) {
var SingleDate;
(function (SingleDate) {
class OSUIFlatpickrSingleDate extends Flatpickr.AbstractFlatpickr {
constructor(uniqueId, configs) {
super(uniqueId, new SingleDate.FlatpickrSingleDateConfig(configs));
this._isUpdatedInitialDateByClientAction = false;
}
_checkInitialDate() {
let clearPlatformInput = false;
if (OSFramework.OSUI.Helper.Dates.IsNull(this.configs.InitialDate)) {
if (this.datePickerPlatformInputElem.value !== OSFramework.OSUI.Constants.EmptyString &&
OSFramework.OSUI.Helper.Dates.IsValid(this.datePickerPlatformInputElem.value)) {
this.configs.InitialDate = OSFramework.OSUI.Helper.Dates.NormalizeDate(this.datePickerPlatformInputElem.value);
}
else {
clearPlatformInput = true;
}
}
else if (this.datePickerPlatformInputElem.value !== OSFramework.OSUI.Constants.EmptyString) {
clearPlatformInput = true;
}
if (clearPlatformInput) {
OSFramework.OSUI.Helper.Dom.Attribute.Set(this.datePickerPlatformInputElem, OSFramework.OSUI.GlobalEnum.HTMLAttributes.Value, OSFramework.OSUI.Constants.EmptyString);
}
this.prepareConfigs();
}
onDateSelectedEvent(selectedDates) {
let _selectedDate = '';
if (selectedDates.length > 0) {
_selectedDate = this.provider.formatDate(selectedDates[0], this.provider.config.enableTime ? 'Y-m-d H:i:S' : 'Y-m-d');
}
OSFramework.OSUI.Helper.Dom.SetInputValue(this.datePickerPlatformInputElem, _selectedDate);
if (this._isUpdatedInitialDateByClientAction === false) {
this.triggerPlatformEventCallback(this.onSelectedCallbackEvent, _selectedDate);
}
this._isUpdatedInitialDateByClientAction = false;
}
prepareToAndRedraw() {
this._isUpdatedInitialDateByClientAction = false;
super.prepareToAndRedraw();
}
todayBtnClick(event) {
event.preventDefault();
this.provider.setDate(this.provider.now, true);
this.jumpIntoToday();
}
updatePlatformInputAttrs() {
const dateType = this.configs.TimeFormat === OSFramework.OSUI.Patterns.DatePicker.Enum.TimeFormatMode.Disable
? OSFramework.OSUI.GlobalEnum.InputTypeAttr.Date
: OSFramework.OSUI.GlobalEnum.InputTypeAttr.DateTime;
OSFramework.OSUI.Helper.Dom.Attribute.Set(this.datePickerPlatformInputElem, OSFramework.OSUI.GlobalEnum.HTMLAttributes.Type, dateType);
}
build() {
super.build();
this._checkInitialDate();
this.finishBuild();
}
changeProperty(propertyName, propertyValue) {
var _a;
let redrawAtInitialDateChange = false;
if (propertyName === SingleDate.Enum.Properties.InitialDate) {
const newDateValue = propertyValue;
const providerSelectedDate = ((_a = this.provider) === null || _a === void 0 ? void 0 : _a.selectedDates.length) > 0
? new Date(this.provider.selectedDates[0])
: undefined;
if (providerSelectedDate === undefined &&
OSFramework.OSUI.Helper.Dates.IsNull(newDateValue) === false) {
redrawAtInitialDateChange = true;
}
else if (providerSelectedDate !== undefined &&
(providerSelectedDate === null || providerSelectedDate === void 0 ? void 0 : providerSelectedDate.getTime()) !== newDateValue.getTime()) {
redrawAtInitialDateChange = true;
}
}
super.changeProperty(propertyName, propertyValue);
if (this.isBuilt) {
switch (propertyName) {
case OSFramework.OSUI.Patterns.DatePicker.Enum.Properties.DateFormat:
if (this.provider.selectedDates.length > 0) {
this.configs.InitialDate = this.provider.formatDate(this.provider.selectedDates[0], this.flatpickrOpts.dateFormat);
}
this.prepareToAndRedraw();
break;
case SingleDate.Enum.Properties.InitialDate:
if (redrawAtInitialDateChange) {
this.prepareToAndRedraw();
}
break;
case OSFramework.OSUI.Patterns.DatePicker.Enum.Properties.TimeFormat:
this.prepareToAndRedraw();
break;
}
}
}
toggleNativeBehavior(isNative) {
if (this.configs.DisableMobile !== !isNative) {
this.configs.DisableMobile = !isNative;
this.prepareToAndRedraw();
}
}
updateInitialDate(value) {
if (this.datePickerPlatformInputElem.disabled === false) {
this._isUpdatedInitialDateByClientAction = true;
this.configs.InitialDate = value;
OSFramework.OSUI.Helper.Dom.SetInputValue(this.datePickerPlatformInputElem, this.provider.formatDate(value, this.flatpickrOpts.dateFormat));
this.prepareToAndRedraw();
}
}
}
SingleDate.OSUIFlatpickrSingleDate = OSUIFlatpickrSingleDate;
})(SingleDate = Flatpickr.SingleDate || (Flatpickr.SingleDate = {}));
})(Flatpickr = Datepicker.Flatpickr || (Datepicker.Flatpickr = {}));
})(Datepicker = OSUI.Datepicker || (OSUI.Datepicker = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Datepicker;
(function (Datepicker) {
var Flatpickr;
(function (Flatpickr) {
var SingleDate;
(function (SingleDate) {
class FlatpickrSingleDateConfig extends Flatpickr.AbstractFlatpickrConfig {
constructor(config) {
super(config);
this.CalendarMode = OSFramework.OSUI.Patterns.DatePicker.Enum.Mode.Single;
}
getProviderConfig() {
const flatpickrSingleDateOpts = {
defaultDate: OSFramework.OSUI.Helper.Dates.IsNull(this.InitialDate) ? undefined : this.InitialDate,
mode: OSFramework.OSUI.Patterns.DatePicker.Enum.Mode.Single,
enableTime: this.TimeFormat !== OSFramework.OSUI.Patterns.DatePicker.Enum.TimeFormatMode.Disable,
onChange: this.OnChange,
};
return this.mergeConfigs(super.getProviderConfig(), flatpickrSingleDateOpts, this.providerExtendedOptions);
}
}
SingleDate.FlatpickrSingleDateConfig = FlatpickrSingleDateConfig;
})(SingleDate = Flatpickr.SingleDate || (Flatpickr.SingleDate = {}));
})(Flatpickr = Datepicker.Flatpickr || (Datepicker.Flatpickr = {}));
})(Datepicker = OSUI.Datepicker || (OSUI.Datepicker = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Datepicker;
(function (Datepicker) {
var Flatpickr;
(function (Flatpickr) {
var l10ns;
(function (l10ns) {
l10ns.A11yContainerInfo = {
ar: {
htmlTex: 'استخدم مفتاح السهم للأسفل لفتح التقويم؛ استخدم مفاتيح الأسهم للتنقل في أيام التقويم؛ استخدم مفتاح Ctrl أو Cmd + الأسهم اليمين أو اليسار للتنقل بين الشهور؛ استخدم مفتاح Ctrl أو Cmd + الأسهم للأعلى أو للأسفل للتنقل بين السنوات؛',
},
at: {
htmlTex: 'Verwenden Sie die Pfeiltaste nach unten, um den Kalender zu öffnen; Verwenden Sie die Pfeiltasten, um sich durch die Kalendertage zu bewegen; Verwenden Sie die Strg- oder Cmd-Taste + die rechte oder linke Pfeiltaste, um sich durch die Monate zu bewegen; Verwenden Sie die Strg- oder Cmd-Taste + die Pfeiltasten nach oben oder unten, um sich durch die Jahre zu bewegen;',
},
az: {
htmlTex: 'Təqvim açmaq üçün aşağı ox düyməsindən istifadə edin; Təqvim gününü gəzmək üçün aşağı və ya yuxarı ox düymələrindən istifadə edin; Aylar arasında gəzmək üçün Ctrl və ya Cmd + sağ və ya sol ox düymələrindən istifadə edin; İllər arasında gəzmək üçün Ctrl və ya Cmd + yuxarı və ya aşağı ox düymələrindən istifadə edin;',
},
be: {
htmlTex: 'Выкарыстоўвайце клавішу стрэлкі ўніз, каб адкрыць каляндар; Выкарыстоўвайце стрэлкі для навігацыі па днях каляндара; Выкарыстоўвайце клавішу Ctrl або Cmd + стрэлкі ўправа або ўлева для навігацыі па месяцах; Выкарыстоўвайце клавішу Ctrl або Cmd + стрэлкі ўверх або ўніз для навігацыі па гадах;',
},
bg: {
htmlTex: 'Използвайте клавиша със стрелка надолу, за да отворите календара; Използвайте стрелките за да навигирате през дните в календара; Използвайте Ctrl или Cmd + стрелка надясно или наляво, за да навигирате през месеците; Използвайте Ctrl или Cmd + стрелка нагоре или надолу, за да навигирате през годините;',
},
bn: {
htmlTex: 'ক্যালেন্ডার খোলার জন্য ডাউন অ্যারো কি ব্যবহার করুন; ক্যালেন্ডারের দিনগুলি নেভিগেট করতে এরো কি ব্যবহার করুন; মাসের মধ্যে নেভিগেট করতে Ctrl বা Cmd + ডান বা বাম অ্যারো কি ব্যবহার করুন; বছরের মধ্যে নেভিগেট করতে Ctrl বা Cmd + উপর বা নিচে অ্যারো কি ব্যবহার করুন;',
},
bs: {
htmlTex: 'Koristite strelicu prema dolje za otvaranje kalendara; Koristite strelice za navigaciju kroz dane u kalendaru; Koristite Ctrl ili Cmd + desnu ili lijevu strelicu za navigaciju kroz mjesece; Koristite Ctrl ili Cmd + strelicu prema gore ili prema dolje za navigaciju kroz godine;',
},
ca: {
htmlTex: 'Utilitzeu la tecla de la fletxa cap avall per obrir el calendari; Utilitzeu les fletxes per navegar pels dies del calendari; Utilitzeu Ctrl o Cmd + la fletxa de dreta o esquerra per navegar pels mesos; Utilitzeu Ctrl o Cmd + la fletxa cap amunt o cap avall per navegar pels anys;',
},
cat: {
htmlTex: 'Utilitzeu la tecla de la fletxa cap avall per obrir el calendari; Utilitzeu les tecles de la fletxa per navegar pels dies del calendari; Utilitzeu cmd o ctrl + tecla de la fletxa dreta o esquerra per navegar pels mesos; Utilitzeu cmd o ctrl + tecla de la fletxa cap amunt o cap avall per navegar pels anys;',
},
ckb: {
htmlTex: 'ئەم توندوتان بەکاربهێنە بۆ کردنەوەی ڕۆژنامە; توندوتانی تیر بۆ ناوی ڕۆژەکانی ڕۆژنامە بکەن; دوگمەی cmd یان ctrl + توندوی ئەستوو یان چەپ بۆ ناوی مانگەکان بکەن; دوگمەی cmd یان ctrl + توندوی سەرەوە یان خوار بۆ ناوی ساڵەکان بکەن;',
},
cs: {
htmlTex: 'Použijte klávesu šipka dolů k otevření kalendáře; Použijte šipky k navigaci mezi dny v kalendáři; Použijte klávesu Ctrl nebo Cmd + šipky vpravo nebo vlevo k navigaci mezi měsíci; Použijte klávesu Ctrl nebo Cmd + šipky nahoru nebo dolů k navigaci mezi roky;',
},
cy: {
htmlTex: 'Defnyddiwch y botwm saeth i lawr i agor y calendr; Defnyddiwch y bysellau i lywio drwy ddyddiau calendr; Defnyddiwch Ctrl neu Cmd + y bysellau de neu lafur i lywio drwy fisoedd; Defnyddiwch Ctrl neu Cmd + y bysellau i fyny neu i lawr i lywio drwy flynyddoedd;',
},
da: {
htmlTex: 'Brug pil ned for at åbne kalenderen; Brug piletasterne til at navigere gennem kalenderens dage; Brug Ctrl eller Cmd + højre eller venstre pil for at navigere gennem månederne; Brug Ctrl eller Cmd + op eller ned pilene for at navigere gennem årene;',
},
de: {
htmlTex: 'Verwenden Sie die Pfeiltaste nach unten, um den Kalender zu öffnen; Verwenden Sie die Pfeiltasten, um durch die Kalendertage zu navigieren; Verwenden Sie die Befehlstaste oder Strg + Pfeiltaste rechts oder links, um durch die Monate zu navigieren; Verwenden Sie die Befehlstaste oder Strg + Pfeiltaste nach oben oder unten, um durch die Jahre zu navigieren;',
},
en: {
htmlTex: 'Use arrow down key to open the calendar; Use arrow keys to navigate through calendar days; Use cmd or ctrl + right or left arrow keys to navigate through months; Use cmd or ctrl + up or down arrow keys to navigate through years;',
},
eo: {
htmlTex: 'Uzu la malsupran sago-butonon por malfermi la kalendaron; Uzu sago-butonojn por navigi tra kalendaraj tagoj; Uzu cmd aŭ ctrl + dekstren aŭ maldekstren sago-butonojn por navigi tra monatoj; Uzu cmd aŭ ctrl + supren aŭ malsupren sago-butonojn por navigi tra jaroj;',
},
es: {
htmlTex: 'Utiliza la tecla de flecha hacia abajo para abrir el calendario; Utiliza las teclas de flecha para navegar por los días del calendario; Utiliza cmd o ctrl + teclas de flecha derecha o izquierda para navegar por los meses; Utiliza cmd o ctrl + teclas de flecha arriba o abajo para navegar por los años;',
},
et: {
htmlTex: 'Kasutage allanoolt, et avada kalender; Kasutage nooleklahve kalendripäevade sirvimiseks; Kasutage käsku või ctrl + parema või vasaku nooleklahvi, et sirvida kuude vahel; Kasutage käsku või ctrl + üles või alla nooleklahvi, et sirvida aastate vahel;',
},
fa: {
htmlTex: 'از کلید پایین فشار دهید تا تقویم باز شود؛ از کلیدهای پایین برای ناوبری در ایام تقویم استفاده کنید؛ از کلیدهای cmd یا ctrl + راست یا چپ برای ناوبری در ماهها استفاده کنید؛ از کلیدهای cmd یا ctrl + پایین یا بالا برای ناوبری در سالها استفاده کنید؛',
},
fi: {
htmlTex: 'Käytä nuolinäppäintä alentaaksesi kalenterin; Käytä nuolinäppäimiä navigoidaksesi kalenterin päivien läpi; Käytä cmd- tai ctrl-näppäintä ja nuolinäppäimiä oikealle tai vasemmalle navigoidaksesi kuukausien läpi; Käytä cmd- tai ctrl-näppäintä ja nuolinäppäimiä ylös tai alas navigoidaksesi vuosien läpi;',
},
fo: {
htmlTex: 'Brúk niður píl til at opna kalendara; Brúk niður pílar til at navigera ímillum kalenderdagar; Brúk cmd ella ctrl + høgri ella vinstri niður pílar til at navigera ímillum mánaðir; Brúk cmd ella ctrl + upp ella niður pílar til at navigera ímillum ár;',
},
fr: {
htmlTex: 'Utilisez la touche flèche vers le bas pour ouvrir le calendrier ; Utilisez les touches flèches pour naviguer à travers les jours du calendrier ; Utilisez la touche cmd ou ctrl + flèche droite ou gauche pour naviguer à travers les mois ; Utilisez la touche cmd ou ctrl + flèche vers le haut ou vers le bas pour naviguer à travers les années ;',
},
ga: {
htmlTex: 'Úsáid an gcnaipe síos freisin chun an féilire a oscailt; Úsáid na siorafí siar chun bealach a aimsiú trí laethanta na féilire; Úsáid an cmd nó an cnaipe ctrl + saigheada ar dheis nó ar chlé chun aistriú trí mhíonna; Úsáid an cmd nó an cnaipe ctrl + saigheada suas nó síos chun aistriú trí blianta;',
},
gr: {
htmlTex: 'Χρησιμοποιήστε το πλήκτρο κάτω βέλους για να ανοίξετε το ημερολόγιο. Χρησιμοποιήστε τα πλήκτρα βέλους για να περιηγηθείτε στις ημέρες του ημερολογίου. Χρησιμοποιήστε το πλήκτρο cmd ή ctrl + δεξιά ή αριστερά βέλη για να περιηγηθείτε στους μήνες. Χρησιμοποιήστε το πλήκτρο cmd ή ctrl + πάνω ή κάτω βέλος για να περιηγηθείτε στα έτη.',
},
he: {
htmlTex: 'השתמש במקש חץ למטה כדי לפתוח את הלוח שנה; השתמש במקשי החץ לניווט בימי לוח השנה; השתמש במקש cmd או ctrl + מקשי החץ ימינה או שמאלה לניווט בין חודשים; השתמש במקש cmd או ctrl + מקשי החץ למעלה או למטה לניווט בין שנים;',
},
hi: {
htmlTex: 'कैलेंडर खोलने के लिए नीचे तीर का उपयोग करें; कैलेंडर के दिनों में नेविगेट करने के लिए तीर का उपयोग करें; महीनों में नेविगेट करने के लिए cmd या ctrl + दायां या बाएं तीर का उपयोग करें; वर्षों में नेविगेट करने के लिए cmd या ctrl + ऊपर या नीचे तीर का उपयोग करें;',
},
hr: {
htmlTex: 'Koristite tipku za strelicu prema dolje da biste otvorili kalendar; Koristite tipke sa strelicama za navigaciju kroz dane kalendara; Koristite tipke cmd ili ctrl + desno ili lijevo za navigaciju kroz mjesece; Koristite tipke cmd ili ctrl + gore ili dolje za navigaciju kroz godine;',
},
hu: {
htmlTex: 'Használja az "Arrow Down" gombot a naptár megnyitásához; Használja az "Arrow" gombokat a naptári napok közötti navigáláshoz; Használja a cmd vagy ctrl + jobb vagy bal nyilakat a hónapok közötti navigáláshoz; Használja a cmd vagy ctrl + fel vagy le nyilakat az évek közötti navigáláshoz;',
},
hy: {
htmlTex: 'Օգտագործեք "Ներքև" սլաքը թողնելու համար՝ օգտագործեք սլաքերը օրվանին նավահանելու համար։ օգտագործեք cmd կամ ctrl + աջ կամ ձախ սլաքերը ամսերի մեջ հանելու համար։ օգտագործեք cmd կամ ctrl + վերև կամ ներքև սլաքերը տասնամյա մեջ հանելու համար։',
},
id: {
htmlTex: 'Gunakan tombol panah bawah untuk membuka kalender; Gunakan tombol panah untuk menavigasi melalui hari-hari kalender; Gunakan cmd atau ctrl + tombol panah kanan atau kiri untuk menavigasi melalui bulan-bulan; Gunakan cmd atau ctrl + tombol panah atas atau bawah untuk menavigasi melalui tahun-tahun;',
},
is: {
htmlTex: 'Notaðu niður örvarna til að opna dagatalið; Notaðu örvarnar til að sigla í gegnum daga dagatalið; Notaðu cmd eða ctrl + hægri eða vinstri örvarnar til að sigla í gegnum mánaði; Notaðu cmd eða ctrl + upp eða niður örvarnar til að sigla í gegnum árin;',
},
it: {
htmlTex: 'Usa il tasto freccia giù per aprire il calendario; Usa le frecce per navigare attraverso i giorni del calendario; Usa cmd o ctrl + freccia destra o sinistra per navigare attraverso i mesi; Usa cmd o ctrl + freccia su o giù per navigare attraverso gli anni;',
},
ja: {
htmlTex: 'カレンダーを開くには矢印キーを下に使用してください;カレンダーの日付を移動するには矢印キーを使用してください;月を移動するにはcmdまたはctrlキーと右矢印キーまたは左矢印キーを使用してください;年を移動するにはcmdまたはctrlキーと上矢印キーまたは下矢印キーを使用してください;',
},
ka: {
htmlTex: 'გამოიყენეთ ქვევით მდგომარე ღილაკი კალენდრის გახსნისათვის; გამოიყენეთ კლავიში კალენდრის დღეებზე ნავიგაციისთვის; გამოიყენეთ cmd ან ctrl + მარჯვნაის ან მარცხნაის ღილაკები თვეების შესამოწმებლად; გამოიყენეთ cmd ან ctrl + ზემოთ ან ქვემოთ მდგარე ღილაკები წლების შესამოწმებლად;',
},
km: {
htmlTex: 'ប្រើព្រួញក្រាហ្វាសក្រាហ្វាសដើម្បីបើកប្រតិទិន; ប្រើព្រួញក្រាហ្វាសដើម្បីរុករុករបស់ថ្ងៃកូនក្នុងប្រតិទិន; ប្រើព្រួញ cmd ឬ ctrl + ព្រួញស្ដាំឬស្តាំខ្លីដើម្បីរុករុករបស់ខែ; ប្រើព្រួញ cmd ឬ ctrl + ព្រួញឡើងឬឡើងដើម្បីរុករុករបស់ឆ្នាំ;',
},
ko: {
htmlTex: '달력을 열려면 아래쪽 화살표 키를 사용하십시오. 달력 날짜를 탐색하려면 화살표 키를 사용하십시오. 월을 탐색하려면 cmd 또는 ctrl + 오른쪽 또는 왼쪽 화살표 키를 사용하십시오. 년도를 탐색하려면 cmd 또는 ctrl + 위쪽 또는 아래쪽 화살표 키를 사용하십시오.',
},
kz: {
htmlTex: 'Қалендарды ашу үшін жоғары жақ көрсеткінді пайдаланыңыз; Календардың күндері арасында навигациялау үшін көрсеткінді пайдаланыңыз; Айдарды навигациялау үшін cmd немесе ctrl + оң немесе сол көрсеткінді пайдаланыңыз; Жылдарды навигациялау үшін cmd немесе ctrl + жоғары немесе төмен көрсеткінді пайдаланыңыз;',
},
lt: {
htmlTex: 'Naudokite rodyklės žemyn klavišą, kad atidarytumėte kalendorių; Naudokite rodykles, kad naršytumėte kalendoriaus dienas; Naudokite cmd arba ctrl + dešinįjį arba kairįjį rodyklę, kad naršytumėte mėnesius; Naudokite cmd arba ctrl + aukštyn arba žemyn rodyklę, kad naršytumėte metus;',
},
lv: {
htmlTex: 'Izmantojiet bultiņu uz leju taustiņu, lai atvērtu kalendāru; Izmantojiet bultiņas, lai navigētu caur kalendāra dienām; Izmantojiet cmd vai ctrl + pa labi vai pa kreisi bultiņas, lai navigētu mēnešos; Izmantojiet cmd vai ctrl + uz augšu vai uz leju bultiņas, lai navigētu gados;',
},
mk: {
htmlTex: 'Користете го копчето со стрелка надолу за да отворите календар; Користете стрелките за да навигирате низ деновите во календарот; Користете го копчето cmd или ctrl + стрелка десно или лево за да навигирате низ месеци; Користете го копчето cmd или ctrl + стрелка горе или долу за да навигирате низ годините;',
},
mn: {
htmlTex: 'Календарыг нээхийн тулд доошилтуур товчлуурыг ашиглана уу; Календарын өдөрүүдэд хүрэхийн тулд доошилтуур товчлуурыг ашиглана уу; Саруудад нэвтрүүлгэн тохируулахын тулд cmd эсвэл ctrl + баруун эсвэл зүүн доошилтуур товчлуурыг ашиглана уу; Жилийг нэвтрүүлгэн тохируулахын тулд cmd эсвэл ctrl + доошилтуур товчлуурыг дээш эсвэл доошилтуур ашиглана уу;',
},
ms: {
htmlTex: 'Guna pakai ke bawah panah untuk membuka kalendar; Guna ke bawah panah untuk melayari hari-hari kalendar; Guna cmd atau ctrl + panah ke kanan atau kiri untuk melayari bulan; Guna cmd atau ctrl + panah ke atas atau bawah untuk melayari tahun;',
},
my: {
htmlTex: 'ကော်နာနှင့် ရွှေတိုးကို ဖွင့်ပါ။ ကိုက်ဘ်လက်များကို ရှာဖွေရန်အသုံးပြုပါ။ ကိုနှင့် ctrl သို့မဟုတ်အမြင်ကို ညာဘက်သို့မဟုတ် ညာမြက်သို့မှစားရင်းသားကို ရှာဖွေရန်အသုံးပြုပါ။',
},
nl: {
htmlTex: 'Gebruik de pijl-omlaag-toets om de kalender te openen; Gebruik de pijltoetsen om door kalenderdagen te navigeren; Gebruik cmd of ctrl + rechter- of linkerpijltoetsen om door maanden te navigeren; Gebruik cmd of ctrl + omhoog- of omlaagpijltoetsen om door jaren te navigeren;',
},
nb: {
htmlTex: 'Bruk piltasten ned for å åpne kalenderen; Bruk piltastene for å navigere gjennom kalenderens dager; Bruk cmd eller ctrl + høyre eller venstre piltast for å navigere gjennom månedene; Bruk cmd eller ctrl + opp eller ned piltast for å navigere gjennom årene;',
},
nn: {
htmlTex: 'Bruk piltasten ned for å opne kalenderen; Bruk piltastane for å navigere gjennom kalenderdagar; Bruk cmd eller ctrl + høgre eller venstre piltast for å navigere gjennom månader; Bruk cmd eller ctrl + opp eller ned piltast for å navigere gjennom år;',
},
no: {
htmlTex: 'Bruk piltasten ned for å åpne kalenderen; Bruk piltastene for å navigere gjennom kalenderdager; Bruk cmd eller ctrl + høyre eller venstre piltast for å navigere gjennom månedene; Bruk cmd eller ctrl + opp eller ned piltast for å navigere gjennom år;',
},
pa: {
htmlTex: 'ਕੈਲੰਡਰ ਖੋਲਣ ਲਈ ਹੇਠਾਂ ਆਰੋ ਕੁੱਝ ਕਰੋ; ਕੈਲੰਡਰ ਦਿਨਾਂ ਵਿੱਚ ਸਿਰਣ ਲਈ ਆਰੋ ਕੁੱਝ ਕਰੋ; ਮਹੀਨਿਆਂ ਵਿੱਚ ਸਿਰਣ ਲਈ cmd ਜਾਂ ctrl + ਸੱਜੇ ਜਾਂ ਖੱਬੇ ਆਰੋ ਕੁੱਝ ਕਰੋ; ਸਾਲਾਂ ਵਿੱਚ ਸਿਰਣ ਲਈ cmd ਜਾਂ ctrl + ਉੱਤੇ ਜਾਂ ਹੇਠੇ ਆਰੋ ਕੁੱਝ ਕਰੋ;',
},
pl: {
htmlTex: 'Użyj klawisza strzałki w dół, aby otworzyć kalendarz; Użyj strzałek, aby nawigować przez dni kalendarza; Użyj klawiszy cmd lub ctrl + strzałka w prawo lub lewo, aby nawigować między miesiącami; Użyj klawiszy cmd lub ctrl + strzałka w górę lub w dół, aby nawigować między latami;',
},
pt: {
htmlTex: 'Use a tecla de seta para baixo para abrir o calendário; Use as teclas de seta para navegar pelos dias do calendário; Use cmd ou ctrl + seta para a direita ou esquerda para navegar pelos meses; Use cmd ou ctrl + seta para cima ou para baixo para navegar pelos anos;',
},
ro: {
htmlTex: 'Utilizați tasta săgeată în jos pentru a deschide calendarul; Utilizați tastele săgeată pentru a naviga prin zilele calendarului; Utilizați cmd sau ctrl + săgeată dreapta sau stânga pentru a naviga prin lunile calendarului; Utilizați cmd sau ctrl + săgeată sus sau jos pentru a naviga prin ani;',
},
ru: {
htmlTex: 'Используйте клавишу стрелки вниз, чтобы открыть календарь; Используйте стрелки для навигации по дням календаря; Используйте клавиши cmd или ctrl + стрелка вправо или влево для навигации между месяцами; Используйте клавиши cmd или ctrl + стрелка вверх или вниз для навигации по годам;',
},
si: {
htmlTex: 'දිවය විවෘත කිරීමට දවස කිරීම සඳහා ඊරාව් මෝල භාරතීය කරන්න; දින සඳහා ඊරා කිරීම සඳහා ඊරා මෝල භාරතීය කරන්න; මාමාන සඳහා cmd හෝ ctrl + වමට හෝ දකුණු ඊරා කිරීම සඳහා; වරාය සඳහා cmd හෝ ctrl + ඉහළ හෝ අසල ඊරා කිරීම සඳහා ඊරා කිරීමට භාරතීය කරන්න;',
},
sk: {
htmlTex: 'Použite kláves smerom nadol na otvorenie kalendára; Použite šípky smerom hore a dole na navigáciu medzi dňami v kalendári; Použite klávesy cmd alebo ctrl + vpravo alebo vľavo na navigáciu medzi mesiacmi; Použite klávesy cmd alebo ctrl + smerom hore alebo dolu na navigáciu medzi rokmi;',
},
sl: {
htmlTex: 'Uporabite tipko s puščico dol za odpiranje koledarja; Uporabite puščične tipke za krmarjenje med dnevi v koledarju; Uporabite tipki cmd ali ctrl + desno ali levo puščico za krmarjenje med meseci; Uporabite tipki cmd ali ctrl + puščico gor ali dol za krmarjenje med leti;',
},
sq: {
htmlTex: 'Përdorni tastierën me shigjetën poshtë për të hapur kalendarin; Përdorni tastierën me shigjetën lart dhe poshtë për të lëvizur nëpër ditët e kalendarit; Përdorni tastierën cmd ose ctrl + majtas ose djathtas për të lëvizur nëpër muajt; Përdorni tastierën cmd ose ctrl + shigjetën lart ose poshtë për të lëvizur nëpër vitet;',
},
sr: {
htmlTex: 'Koristite taster strelica nadole da biste otvorili kalendar; Koristite tasteri strelica za navigaciju kroz dane kalendara; Koristite cmd ili ctrl + strelice desno ili levo za navigaciju kroz mesece; Koristite cmd ili ctrl + strelice gore ili dole za navigaciju kroz godine;',
},
sv: {
htmlTex: 'Använd piltangenten nedåt för att öppna kalendern; Använd piltangenterna för att navigera genom kalenderdagar; Använd cmd eller ctrl + höger eller vänster piltangent för att navigera genom månader; Använd cmd eller ctrl + upp eller ner piltangent för att navigera genom år;',
},
th: {
htmlTex: 'ใช้ปุ่มลูกศรลงเพื่อเปิดปฏิทิน; ใช้ปุ่มลูกศรเพื่อนำทางผ่านวันที่ในปฏิทิน; ใช้ cmd หรือ ctrl + ปุ่มลูกศรขวาหรือซ้ายเพื่อนำทางผ่านเดือน; ใช้ cmd หรือ ctrl + ปุ่มลูกศรขึ้นหรือลงเพื่อนำทางผ่านปี;',
},
tr: {
htmlTex: 'Takvimi açmak için aşağı ok tuşunu kullanın; Takvim günleri arasında gezinmek için ok tuşlarını kullanın; Aylar arasında gezinmek için cmd veya ctrl + sağ veya sol ok tuşlarını kullanın; Yıllar arasında gezinmek için cmd veya ctrl + yukarı veya aşağı ok tuşlarını kullanın;',
},
uk: {
htmlTex: 'Використовуйте клавішу стрілка вниз, щоб відкрити календар; Використовуйте клавіші зі стрілкою, щоб переміщатися між днями календаря; Використовуйте клавіші cmd або ctrl + вправо або вліво, щоб переміщатися між місяцями; Використовуйте клавіші cmd або ctrl + стрілка вгору або вниз, щоб переміщатися між роками;',
},
uz: {
htmlTex: "Kalendar ochish uchun pastga yo'naltirish tugmasidan foydalaning; Kalendar kunlaridan o'tish uchun pastga va tepaga yo'naltirish tugmalari qo'llaniladi; Oy o'rtasida o'tish uchun cmd yoki ctrl + chap yoki o'ng oyoq tugmalaridan foydalaning; Yil o'rtasida o'tish uchun cmd yoki ctrl + tepaga yoki pastga yo'naltirish tugmalari qo'llaniladi;",
},
vn: {
htmlTex: 'Sử dụng phím mũi tên xuống để mở lịch; Sử dụng các phím mũi tên để điều hướng qua các ngày trong lịch; Sử dụng cmd hoặc ctrl + phím mũi tên phải hoặc trái để điều hướng qua các tháng; Sử dụng cmd hoặc ctrl + phím mũi tên lên hoặc xuống để điều hướng qua các năm;',
},
zh: {
htmlTex: '使用下箭头键打开日历; 使用箭头键在日历天数之间导航; 使用cmd或ctrl +右或左箭头键导航月份; 使用cmd或ctrl +上或下箭头键导航年份;',
},
zh_tw: {
htmlTex: '使用下箭頭鍵打開日曆; 使用箭頭鍵在日曆天數之間導航; 使用cmd或ctrl +右或左箭頭鍵導航月份; 使用cmd或ctrl +上或下箭頭鍵導航年份;',
},
};
})(l10ns = Flatpickr.l10ns || (Flatpickr.l10ns = {}));
})(Flatpickr = Datepicker.Flatpickr || (Datepicker.Flatpickr = {}));
})(Datepicker = OSUI.Datepicker || (OSUI.Datepicker = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Datepicker;
(function (Datepicker) {
var Flatpickr;
(function (Flatpickr) {
var l10ns;
(function (l10ns) {
l10ns.TodayBtn = {
ar: {
ariaLabel: 'انقر للانتقال إلى تاريخ اليوم',
title: 'اليوم',
},
at: {
ariaLabel: 'Klicken Sie hier, um zum heutigen Datum zu springen',
title: 'Heute',
},
az: {
ariaLabel: 'Bugünkü tarixə keçmək üçün bura klikləyin',
title: 'Bu gün',
},
be: {
ariaLabel: 'Націсніце тут, каб перайсці да сённяшняй даты',
title: 'сёння',
},
bg: {
ariaLabel: 'Щракнете тук, за да преминете към днешната дата',
title: 'Днес',
},
bn: {
ariaLabel: 'আজকের তারিখে যেতে এখানে ক্লিক করুন',
title: 'আজ',
},
bs: {
ariaLabel: 'Kliknite ovdje da skočite na današnji datum',
title: 'Danas',
},
ca: {
ariaLabel: "Feu clic aquí per saltar a la data d'avui",
title: 'Avui',
},
cat: {
ariaLabel: "Feu clic aquí per saltar a la data d'avui",
title: 'Avui',
},
ckb: {
ariaLabel: 'Li vir bikirtînin da ku hûn biçin roja îro',
title: 'Îro',
},
cs: {
ariaLabel: 'Kliknutím sem přejdete na dnešní datum',
title: 'Dnes',
},
cy: {
ariaLabel: "Cliciwch yma i neidio i'r dyddiad heddiw",
title: 'Heddiw',
},
da: {
ariaLabel: 'Klik her for at springe til dagens dato',
title: 'I dag',
},
de: {
ariaLabel: 'Klicken Sie hier, um zum heutigen Datum zu springen',
title: 'Heute',
},
eo: {
ariaLabel: 'Klaku ĉi tie por salti al la hodiaŭa dato',
title: 'Hodiaŭ',
},
es: {
ariaLabel: 'Haga clic para saltar a la fecha de hoy',
title: 'Hoy',
},
en: {
ariaLabel: 'Click to jump into today date',
title: 'Today',
},
et: {
ariaLabel: 'Tänasele kuupäevale liikumiseks klõpsake siin',
title: 'Täna',
},
fa: {
ariaLabel: 'برای رفتن به تاریخ امروز اینجا را کلیک کنید',
title: 'امروز',
},
fi: {
ariaLabel: 'Napsauta tästä siirtyäksesi tämän päivän päivämäärään',
title: 'Tänään',
},
fo: {
ariaLabel: 'Klicken Sie hier, um zum heutigen Datum zu springen',
title: 'Heute',
},
fr: {
ariaLabel: "Cliquez ici pour passer à la date d'aujourd'hui",
title: "Aujourd'hui",
},
ga: {
ariaLabel: 'Cliceáil anseo chun léim chuig dáta an lae inniu',
title: 'Inniu',
},
gr: {
ariaLabel: 'Κάντε κλικ εδώ για να μεταβείτε στη σημερινή ημερομηνία',
title: 'Σήμερα',
},
he: {
ariaLabel: 'לחץ כאן כדי לדלג לתאריך של היום',
title: 'היום',
},
hi: {
ariaLabel: 'आज की तारीख पर जाने के लिए यहां क्लिक करें',
title: 'आज',
},
hr: {
ariaLabel: 'Kliknite ovdje za skok na današnji datum',
title: 'Danas',
},
hu: {
ariaLabel: 'Kattintson ide, hogy a mai dátumra ugorjon',
title: 'Ma',
},
hy: {
ariaLabel: 'Սեղմեք այստեղ՝ այսօրվա օրվան անցնելու համար',
title: 'Այսօր',
},
id: {
ariaLabel: 'Klik di sini untuk melompat ke tanggal hari ini',
title: 'Hari ini',
},
is: {
ariaLabel: 'Smelltu hér til að fara á dagsetningu dagsins',
title: 'Í dag',
},
it: {
ariaLabel: 'Clicca per saltare alla data odierna',
title: 'Oggi',
},
ja: {
ariaLabel: '今日の日付にジャンプするには、ここをクリックしてください',
title: '今日',
},
ka: {
ariaLabel: 'დააწკაპუნეთ აქ დღევანდელ თარიღზე გადასასვლელად',
title: 'დღეს',
},
km: {
ariaLabel: 'សូមចុចទីនេះដើម្បីចូលទៅកាន់កាលបរិច្ឆេទថ្ងៃនេះ',
title: 'ថ្ងៃនេះ',
},
ko: {
ariaLabel: '오늘 날짜로 이동하려면 여기를 클릭하세요.',
title: '오늘',
},
kz: {
ariaLabel: 'Бүгінгі күнге өту үшін осы жерді басыңыз',
title: 'Бүгін',
},
lt: {
ariaLabel: 'Spustelėkite čia, kad pereitumėte prie šiandienos datos',
title: 'Šiandien',
},
lv: {
ariaLabel: 'Noklikšķiniet šeit, lai pārietu uz šodienas datumu',
title: 'Šodien',
},
mk: {
ariaLabel: 'Кликнете овде за да скокнете до денешниот датум',
title: 'Денес',
},
mn: {
ariaLabel: 'Өнөөдрийн огноо руу шилжихийн тулд энд дарна уу',
title: 'Өнөөдөр',
},
ms: {
ariaLabel: 'Klik di sini untuk melompat ke tarikh hari ini',
title: 'Hari ini',
},
my: {
ariaLabel: 'ယနေ့ရက်စွဲသို့ခုန်ရန် ဤနေရာကိုနှိပ်ပါ။',
title: 'ဒီနေ့',
},
nl: {
ariaLabel: 'Klik hier om naar de datum van vandaag te gaan',
title: 'Vandaag',
},
nb: {
ariaLabel: 'Klikk her for å hoppe til dagens dato',
title: 'I dag',
},
nn: {
ariaLabel: 'Klikk her for å hoppe til dagens dato',
title: 'I dag',
},
no: {
ariaLabel: 'Klikk her for å hoppe til dagens dato',
title: 'I dag',
},
pa: {
ariaLabel: "ਅੱਜ ਦੀ ਤਾਰੀਖ 'ਤੇ ਜਾਣ ਲਈ ਇੱਥੇ ਕਲਿੱਕ ਕਰੋ",
title: 'ਅੱਜ',
},
pl: {
ariaLabel: 'Kliknij tutaj, aby przejść do dzisiejszej daty',
title: 'Dziś',
},
pt: {
ariaLabel: 'Clique aqui para seleccionar a data de hoje.',
title: 'Hoje',
},
ro: {
ariaLabel: 'Faceți clic aici pentru a trece la data de astăzi',
title: 'Astăzi',
},
ru: {
ariaLabel: 'Нажмите здесь, чтобы перейти к сегодняшней дате',
title: 'Сегодня',
},
si: {
ariaLabel: 'අද දිනයට යාමට මෙතැන ක්ලික් කරන්න',
title: 'අද',
},
sk: {
ariaLabel: 'Kliknutím sem prejdete na dnešný dátum',
title: 'Dnes',
},
sl: {
ariaLabel: 'Kliknite tukaj za skok na današnji datum',
title: 'Danes',
},
sq: {
ariaLabel: 'Kliko këtu për të kaluar në datën e sotme',
title: 'Sot',
},
sr: {
ariaLabel: 'Кликните овде да бисте прешли на данашњи датум',
title: 'Данас',
},
sv: {
ariaLabel: 'Klicka här för att gå till dagens datum',
title: 'I dag',
},
th: {
ariaLabel: 'คลิกที่นี่เพื่อข้ามไปยังวันที่ของวันนี้',
title: 'ทุกวันนี้',
},
tr: {
ariaLabel: 'Bugünün tarihine atlamak için buraya tıklayın',
title: 'Bugün',
},
uk: {
ariaLabel: 'Натисніть тут, щоб перейти до сьогоднішньої дати',
title: 'Сьогодні',
},
uz: {
ariaLabel: "Bugungi sanaga o'tish uchun shu yerni bosing",
title: 'Bugun',
},
vn: {
ariaLabel: 'Bấm vào đây để chuyển sang ngày hôm nay',
title: 'Hôm nay',
},
zh: {
ariaLabel: '点击这里跳转到今天的日期',
title: '今天',
},
zh_tw: {
ariaLabel: '點擊這裡跳轉到今天的日期',
title: '今天',
},
};
})(l10ns = Flatpickr.l10ns || (Flatpickr.l10ns = {}));
})(Flatpickr = Datepicker.Flatpickr || (Datepicker.Flatpickr = {}));
})(Datepicker = OSUI.Datepicker || (OSUI.Datepicker = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Dropdown;
(function (Dropdown) {
var VirtualSelect;
(function (VirtualSelect) {
class AbstractVirtualSelect extends OSFramework.OSUI.Patterns.Dropdown.AbstractDropdown {
constructor(uniqueId, configs) {
super(uniqueId, configs);
}
_addErrorMessage(text) {
const errorMessageElement = OSFramework.OSUI.Helper.Dom.ClassSelector(this.selfElement.parentElement, VirtualSelect.Enum.CssClass.ErrorMessage);
if (errorMessageElement === undefined) {
const textContainer = document.createElement(OSFramework.OSUI.GlobalEnum.HTMLElement.Div);
textContainer.classList.add(VirtualSelect.Enum.CssClass.ErrorMessage);
textContainer.innerHTML = text;
this.selfElement.parentElement.appendChild(textContainer);
}
}
_manageAttributes() {
this.setA11YProperties();
}
_manageDisableStatus() {
if (this.configs.IsDisabled) {
this.provider.$ele.disable();
}
else {
this.provider.$ele.enable();
}
}
_onMouseUp(event) {
event.preventDefault();
}
_onOrientationChange() {
this.close();
}
_onSelectedOption() {
this.triggerPlatformEventCallback(this._platformEventSelectedOptCallback, this.getSelectedValues());
}
_onWindowResize() {
this.close();
}
_setDropdownProps() {
this.configs.ElementId = '#' + this.selfElement.id;
if (OSFramework.OSUI.Helper.DeviceInfo.IsMobileDevice) {
this.configs.PopupDropboxBreakpoint =
(window.innerWidth > window.innerHeight ? window.innerWidth : window.innerHeight) + 'px';
}
}
_setUpEvents() {
this.selfElement.addEventListener(VirtualSelect.Enum.Events.Change, this._onSelectedOptionEvent);
if (OSFramework.OSUI.Helper.DeviceInfo.GetBrowser() === OSFramework.OSUI.GlobalEnum.Browser.edge) {
this.selfElement.addEventListener(OSFramework.OSUI.GlobalEnum.HTMLEvent.MouseUp, this._onMouseUpEvent);
}
if (OSFramework.OSUI.Helper.DeviceInfo.IsMobileDevice) {
OSFramework.OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.addHandler(OSFramework.OSUI.Event.DOMEvents.Listeners.Type.OrientationChange, this._eventOnOrientationChange);
}
else {
OSFramework.OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.addHandler(OSFramework.OSUI.Event.DOMEvents.Listeners.Type.WindowResize, this._eventOnWindowResize);
}
}
_unsetEvents() {
this.selfElement.removeEventListener(VirtualSelect.Enum.Events.Change, this._onSelectedOptionEvent);
this.selfElement.removeEventListener(OSFramework.OSUI.GlobalEnum.HTMLEvent.MouseUp, this._onMouseUpEvent);
OSFramework.OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.removeHandler(OSFramework.OSUI.Event.DOMEvents.Listeners.Type.WindowResize, this._eventOnWindowResize);
}
createProviderInstance() {
this.provider = window.VirtualSelect.init(this.virtualselectOpts);
this.provider = Array.isArray(this.provider) ? this.provider[0] : this.provider;
this.virtualselectConfigs = this.provider.$ele;
this.provider.$dropboxContainer.setAttribute(OSFramework.OSUI.GlobalEnum.HTMLAttributes.Name, this.uniqueId);
if (OSFramework.OSUI.Helper.DeviceInfo.HasAccessibilityEnabled) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(this.provider.$dropboxContainer, OSFramework.OSUI.Constants.HasAccessibilityClass);
}
this.updateProviderEvents({
name: VirtualSelect.Enum.ProviderInfo.Name,
version: VirtualSelect.Enum.ProviderInfo.Version,
events: this.virtualselectConfigs,
});
this._manageAttributes();
const _bodyEvent = OSFramework.OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.events.get(OSFramework.OSUI.Event.DOMEvents.Listeners.Type.BodyOnClick);
if (_bodyEvent) {
this.selfElement.addEventListener(VirtualSelect.Enum.Events.BeforeOpen, () => {
_bodyEvent.disableBodyClickEvent();
});
this.selfElement.addEventListener(VirtualSelect.Enum.Events.BeforeClose, () => {
_bodyEvent.enableBodyClickEvent();
});
}
this.triggerPlatformInitializedEventCallback();
}
setA11YProperties() {
this.setHiddenInputWrapperAriaLabelVal();
}
setCallbacks() {
this._eventOnWindowResize = this._onWindowResize.bind(this);
this._eventOnOrientationChange = this._onOrientationChange.bind(this);
this._onMouseUpEvent = this._onMouseUp.bind(this);
this._onSelectedOptionEvent = this._onSelectedOption.bind(this);
}
setHtmlElements() {
console.log(OSFramework.OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
unsetCallbacks() {
this._eventOnWindowResize = undefined;
this._onSelectedOptionEvent = undefined;
this.virtualselectConfigs = undefined;
this.virtualselectOpts = undefined;
this.provider = undefined;
super.unsetCallbacks();
}
unsetHtmlElements() {
console.log(OSFramework.OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
build() {
super.build();
this._setDropdownProps();
this.setCallbacks();
this._setUpEvents();
this.prepareConfigs();
this.finishBuild();
}
changeProperty(propertyName, propertyValue) {
this.virtualselectConfigs.close();
if ((propertyName === VirtualSelect.Enum.Properties.OptionsList || propertyName === VirtualSelect.Enum.Properties.StartingSelection) &&
typeof propertyValue === 'string') {
propertyValue = JSON.parse(propertyValue);
}
super.changeProperty(propertyName, propertyValue);
if (this.isBuilt) {
switch (propertyName) {
case OSFramework.OSUI.Patterns.Dropdown.Enum.Properties.IsDisabled:
this._manageDisableStatus();
break;
case VirtualSelect.Enum.Properties.NoOptionsText:
case VirtualSelect.Enum.Properties.NoResultsText:
case VirtualSelect.Enum.Properties.OptionsList:
case VirtualSelect.Enum.Properties.Prompt:
case VirtualSelect.Enum.Properties.SearchPrompt:
this.redraw();
break;
case VirtualSelect.Enum.Properties.StartingSelection:
this.setValue(propertyValue);
break;
}
}
}
clear(silentOnChangedEvent = true) {
this.virtualselectConfigs.reset(false, silentOnChangedEvent);
}
close() {
if (this.provider.isOpened()) {
OSFramework.OSUI.Helper.AsyncInvocation(this.virtualselectConfigs.close.bind(this.virtualselectConfigs));
}
}
disable() {
if (this.configs.IsDisabled === false && this.provider !== undefined) {
this.configs.IsDisabled = true;
this.provider.$ele.disable();
}
}
dispose() {
if (this.isBuilt) {
if (Array.isArray(this.provider)) {
for (const element of this.provider) {
element.destroy();
}
}
else {
this.provider.destroy();
}
}
this._unsetEvents();
this.unsetCallbacks();
super.dispose();
}
enable() {
if (this.configs.IsDisabled && this.provider !== undefined) {
this.configs.IsDisabled = false;
this.provider.$ele.enable();
}
}
getSelectedValues() {
let optionsSelected = this.getSelectedOptionsStructure();
if (optionsSelected !== undefined && optionsSelected.length > 0) {
optionsSelected = optionsSelected.map(function (option) {
return Object.assign({ group_name: option.customData && option.customData.group_name ? option.customData.group_name : '', description: option.customData && option.customData.description ? option.customData.description : '' }, option);
});
return JSON.stringify(optionsSelected);
}
return '';
}
open() {
OSFramework.OSUI.Helper.AsyncInvocation(this.virtualselectConfigs.open.bind(this.virtualselectConfigs));
}
registerCallback(eventName, callback) {
switch (eventName) {
case VirtualSelect.Enum.Events.OnSelected:
if (this._platformEventSelectedOptCallback === undefined) {
this._platformEventSelectedOptCallback = callback;
}
break;
default:
super.registerCallback(eventName, callback);
break;
}
}
setHiddenInputWrapperAriaLabelVal(value) {
this.hiddenInputWrapperAriaLabelVal = value === undefined ? this.hiddenInputWrapperAriaLabelVal : value;
OSFramework.OSUI.Helper.A11Y.AriaLabel(this.provider.$wrapper, this.hiddenInputWrapperAriaLabelVal);
}
setProviderConfigs(newConfigs) {
this.configs.setExtensibilityConfigs(newConfigs);
this.redraw();
super.setProviderConfigs(newConfigs);
}
setValue(optionsToSelect, silentOnChangedEvent = true) {
OSFramework.OSUI.Helper.AsyncInvocation(() => {
const selectedValues = this.getSelectedOptionsStructure().map((value) => value.value) || [];
let valuesToSelect = [];
if (optionsToSelect.length > 0) {
if (this.virtualselectOpts.multiple)
valuesToSelect = optionsToSelect.map((option) => option.value);
else
valuesToSelect = [optionsToSelect[0].value];
}
if (valuesToSelect.sort().join(' ') !== selectedValues.sort().join(' '))
this.virtualselectConfigs.setValue(valuesToSelect, silentOnChangedEvent);
});
}
togglePopup(isEnabled) {
if (this.configs.ShowDropboxAsPopup !== isEnabled) {
this.configs.ShowDropboxAsPopup = isEnabled;
this.redraw();
}
}
validation(isValid, validationMessage) {
if (isValid === false) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(this.selfElement, VirtualSelect.Enum.CssClass.NotValid);
this._addErrorMessage(validationMessage);
}
else {
OSFramework.OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, VirtualSelect.Enum.CssClass.NotValid);
const errorMessageElement = OSFramework.OSUI.Helper.Dom.ClassSelector(this.selfElement.parentElement, VirtualSelect.Enum.CssClass.ErrorMessage);
if (errorMessageElement) {
errorMessageElement.remove();
}
}
}
}
VirtualSelect.AbstractVirtualSelect = AbstractVirtualSelect;
})(VirtualSelect = Dropdown.VirtualSelect || (Dropdown.VirtualSelect = {}));
})(Dropdown = OSUI.Dropdown || (OSUI.Dropdown = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Dropdown;
(function (Dropdown) {
var VirtualSelect;
(function (VirtualSelect) {
class AbstractVirtualSelectConfig extends OSFramework.OSUI.Patterns.Dropdown
.AbstractDropdownConfig {
constructor() {
super(...arguments);
this.ShowDropboxAsPopup = true;
}
_checkForFigType(option) {
let hasImage = VirtualSelect.Enum.FigureType.None;
if (!!option && !!option.image_url_or_class) {
hasImage = OSFramework.OSUI.Helper.URL.IsImage(option.image_url_or_class)
? VirtualSelect.Enum.FigureType.Image
: VirtualSelect.Enum.FigureType.Icon;
}
return hasImage;
}
_getGroupedOptionsList() {
const options = [];
let previousKey = undefined;
const [hasDescription, groupedOptions] = this._groupOptions();
for (const key in groupedOptions) {
options.push({
label: key,
options: groupedOptions[key],
index: groupedOptions[previousKey]
? options[options.length - 1].index + groupedOptions[previousKey].length + 1
: 0,
});
previousKey = key;
}
return [hasDescription, options];
}
_getOptionIconPrefix(option) {
return `<i class="${VirtualSelect.Enum.CssClass.OptionItemIcon} ${option.image_url_or_class}"></i>`;
}
_getOptionImagePrefix(option) {
const sanitizedUrl = OSFramework.OSUI.Helper.Sanitize(option.image_url_or_class);
return `<img class="${VirtualSelect.Enum.CssClass.OptionItemImage}" src="${sanitizedUrl}">`;
}
_getOptionInfo(data) {
let prefix = '';
let index;
let groupIndex;
if (!data.isGroupTitle) {
if (data.isGroupOption) {
groupIndex = this._groupedOptionsList.findIndex((group) => group.index === data.groupIndex);
index = data.index - (data.groupIndex + 1);
}
else {
groupIndex = 0;
index = data.index;
}
const hasFigureType = this._checkForFigType(this._groupedOptionsList[groupIndex].options[index]);
switch (hasFigureType) {
case VirtualSelect.Enum.FigureType.Image:
prefix = this._getOptionImagePrefix(this._groupedOptionsList[groupIndex].options[index]);
break;
case VirtualSelect.Enum.FigureType.Icon:
prefix = this._getOptionIconPrefix(this._groupedOptionsList[groupIndex].options[index]);
break;
}
}
return `${prefix}${data.label}`;
}
_getOptionsList() {
if (this._groupedOptionsList.length === 1 && !!!this._groupedOptionsList[0].label) {
return this._groupedOptionsList[0].options;
}
else {
return this._groupedOptionsList;
}
}
_groupOptions() {
let hasDescription = false;
const groupOptionsObject = this.OptionsList.reduce(function (previousValue, option) {
const group_name = option.group_name || '';
const description = option.description || '';
option.customData = {};
if (description !== '') {
option.customData = { description: description };
hasDescription = true;
}
if (group_name !== '') {
option.customData = Object.assign(Object.assign({}, option.customData), { group_name: group_name });
}
previousValue[group_name] = previousValue[group_name] || [];
previousValue[group_name].push(option);
return previousValue;
}, {});
return [hasDescription, groupOptionsObject];
}
getProviderConfig() {
for (const option of this.OptionsList) {
option.label = OSFramework.OSUI.Helper.Sanitize(option.label);
}
const [hasDescription, groupedOptionsList] = this._getGroupedOptionsList();
this._groupedOptionsList = groupedOptionsList;
this._providerOptions = {
ele: this.ElementId,
disabled: this.IsDisabled,
dropboxWrapper: OSFramework.OSUI.GlobalEnum.HTMLElement.Body,
hasOptionDescription: hasDescription,
hideClearButton: false,
labelRenderer: this._getOptionInfo.bind(this),
noOptionsText: this.NoOptionsText,
noSearchResultsText: this.NoResultsText,
options: this._getOptionsList(),
placeholder: this.Prompt,
search: true,
searchNormalize: true,
searchPlaceholderText: this.SearchPrompt,
selectAllOnlyVisible: true,
selectedValue: this.getSelectedValues(),
showDropboxAsPopup: this.ShowDropboxAsPopup,
popupDropboxBreakpoint: this.PopupDropboxBreakpoint,
silentInitialValueSet: true,
textDirection: OutSystems.OSUI.Utils.GetIsRTL()
? OSFramework.OSUI.GlobalEnum.Direction.RTL
: OSFramework.OSUI.GlobalEnum.Direction.LTR,
updatePositionThrottle: 0,
useGroupValue: true,
zIndex: 251,
};
return this._providerOptions;
}
setExtensibilityConfigs(newConfigs) {
if (newConfigs[VirtualSelect.Enum.ExtendedConfigs.hasOptionDescription] !== undefined)
console.warn(`The option description may be affected when modifying the property ${VirtualSelect.Enum.ExtendedConfigs.hasOptionDescription}.`);
this.providerExtendedOptions = newConfigs;
}
validateDefault(key, value) {
let validatedValue = undefined;
switch (key) {
case VirtualSelect.Enum.Properties.OptionsList:
validatedValue = value;
break;
case VirtualSelect.Enum.Properties.StartingSelection:
validatedValue = value;
break;
default:
validatedValue = super.validateDefault(key, value);
break;
}
return validatedValue;
}
}
VirtualSelect.AbstractVirtualSelectConfig = AbstractVirtualSelectConfig;
})(VirtualSelect = Dropdown.VirtualSelect || (Dropdown.VirtualSelect = {}));
})(Dropdown = OSUI.Dropdown || (OSUI.Dropdown = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Dropdown;
(function (Dropdown) {
var VirtualSelect;
(function (VirtualSelect) {
var Enum;
(function (Enum) {
let ProviderInfo;
(function (ProviderInfo) {
ProviderInfo["Name"] = "VirtualSelect";
ProviderInfo["Version"] = "1.0.47";
})(ProviderInfo = Enum.ProviderInfo || (Enum.ProviderInfo = {}));
let CssClass;
(function (CssClass) {
CssClass["ErrorMessage"] = "osui-dropdown-error-message";
CssClass["NotValid"] = "osui-dropdown--not-valid";
CssClass["OptionItemIcon"] = "osui-dropdown-option-icon";
CssClass["OptionItemImage"] = "osui-dropdown-option-image";
})(CssClass = Enum.CssClass || (Enum.CssClass = {}));
let Events;
(function (Events) {
Events["BeforeClose"] = "beforeClose";
Events["BeforeOpen"] = "beforeOpen";
Events["Change"] = "change";
Events["OnSelected"] = "OnSelected";
})(Events = Enum.Events || (Enum.Events = {}));
let Properties;
(function (Properties) {
Properties["NoOptionsText"] = "NoOptionsText";
Properties["NoResultsText"] = "NoResultsText";
Properties["OptionsList"] = "OptionsList";
Properties["Prompt"] = "Prompt";
Properties["SearchPrompt"] = "SearchPrompt";
Properties["StartingSelection"] = "StartingSelection";
})(Properties = Enum.Properties || (Enum.Properties = {}));
let PropertiesValues;
(function (PropertiesValues) {
PropertiesValues["AriaLabelMultipleValue"] = "Select one or more options";
PropertiesValues["AriaLabelSingleValue"] = "Select an option";
})(PropertiesValues = Enum.PropertiesValues || (Enum.PropertiesValues = {}));
let FigureType;
(function (FigureType) {
FigureType["Icon"] = "Icon";
FigureType["Image"] = "Image";
FigureType["None"] = "None";
})(FigureType = Enum.FigureType || (Enum.FigureType = {}));
let ExtendedConfigs;
(function (ExtendedConfigs) {
ExtendedConfigs["hasOptionDescription"] = "hasOptionDescription";
})(ExtendedConfigs = Enum.ExtendedConfigs || (Enum.ExtendedConfigs = {}));
})(Enum = VirtualSelect.Enum || (VirtualSelect.Enum = {}));
})(VirtualSelect = Dropdown.VirtualSelect || (Dropdown.VirtualSelect = {}));
})(Dropdown = OSUI.Dropdown || (OSUI.Dropdown = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Dropdown;
(function (Dropdown) {
var VirtualSelect;
(function (VirtualSelect) {
var Utils;
(function (Utils) {
function NormalizeVirtualSelectConfigs(virtualSelectConfigs) {
return OutSystems.OSUI.Utils.AbstractNormalizeProviderConfigs(virtualSelectConfigs);
}
Utils.NormalizeVirtualSelectConfigs = NormalizeVirtualSelectConfigs;
})(Utils = VirtualSelect.Utils || (VirtualSelect.Utils = {}));
})(VirtualSelect = Dropdown.VirtualSelect || (Dropdown.VirtualSelect = {}));
})(Dropdown = OSUI.Dropdown || (OSUI.Dropdown = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Dropdown;
(function (Dropdown) {
var VirtualSelect;
(function (VirtualSelect) {
var Factory;
(function (Factory) {
function NewVirtualSelect(dropdownId, mode, configs) {
let _virtualSelectItem = null;
switch (mode) {
case OSFramework.OSUI.Patterns.Dropdown.Enum.Mode.Search:
_virtualSelectItem = new Providers.OSUI.Dropdown.VirtualSelect.Search.OSUIVirtualSelectSearch(dropdownId, configs);
break;
case OSFramework.OSUI.Patterns.Dropdown.Enum.Mode.Tags:
_virtualSelectItem = new Providers.OSUI.Dropdown.VirtualSelect.Tags.OSUIVirtualSelectTags(dropdownId, configs);
break;
default:
throw new Error(`There is no Dropdown of ${mode} mode type`);
}
return _virtualSelectItem;
}
Factory.NewVirtualSelect = NewVirtualSelect;
})(Factory = VirtualSelect.Factory || (VirtualSelect.Factory = {}));
})(VirtualSelect = Dropdown.VirtualSelect || (Dropdown.VirtualSelect = {}));
})(Dropdown = OSUI.Dropdown || (OSUI.Dropdown = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Dropdown;
(function (Dropdown) {
var VirtualSelect;
(function (VirtualSelect) {
var Search;
(function (Search) {
var Enum;
(function (Enum) {
let Properties;
(function (Properties) {
Properties["AllowMultipleSelection"] = "AllowMultipleSelection";
})(Properties = Enum.Properties || (Enum.Properties = {}));
})(Enum = Search.Enum || (Search.Enum = {}));
})(Search = VirtualSelect.Search || (VirtualSelect.Search = {}));
})(VirtualSelect = Dropdown.VirtualSelect || (Dropdown.VirtualSelect = {}));
})(Dropdown = OSUI.Dropdown || (OSUI.Dropdown = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Dropdown;
(function (Dropdown) {
var VirtualSelect;
(function (VirtualSelect) {
var Search;
(function (Search) {
class OSUIVirtualSelectSearch extends VirtualSelect.AbstractVirtualSelect {
constructor(uniqueId, configs) {
super(uniqueId, new Search.VirtualSelectSearchConfig(configs));
this.hiddenInputWrapperAriaLabelVal = this.configs.AllowMultipleSelection
? Dropdown.VirtualSelect.Enum.PropertiesValues.AriaLabelMultipleValue
: Dropdown.VirtualSelect.Enum.PropertiesValues.AriaLabelSingleValue;
}
getSelectedOptionsStructure() {
let optionsSelected = [];
if (this.configs.AllowMultipleSelection) {
optionsSelected = this.virtualselectConfigs.getSelectedOptions();
}
else {
if (this.virtualselectConfigs.getSelectedOptions()) {
optionsSelected.push(this.virtualselectConfigs.getSelectedOptions());
}
}
return optionsSelected;
}
prepareConfigs() {
this.virtualselectOpts = this.configs.getProviderConfig();
this.createProviderInstance();
}
changeProperty(propertyName, propertyValue) {
super.changeProperty(propertyName, propertyValue);
if (this.isBuilt) {
switch (propertyName) {
case Search.Enum.Properties.AllowMultipleSelection:
this.redraw();
break;
}
}
}
}
Search.OSUIVirtualSelectSearch = OSUIVirtualSelectSearch;
})(Search = VirtualSelect.Search || (VirtualSelect.Search = {}));
})(VirtualSelect = Dropdown.VirtualSelect || (Dropdown.VirtualSelect = {}));
})(Dropdown = OSUI.Dropdown || (OSUI.Dropdown = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Dropdown;
(function (Dropdown) {
var VirtualSelect;
(function (VirtualSelect) {
var Search;
(function (Search) {
class VirtualSelectSearchConfig extends VirtualSelect.AbstractVirtualSelectConfig {
getSelectedValues() {
var _a;
const selectedKeyvalues = [];
if (((_a = this.StartingSelection) === null || _a === void 0 ? void 0 : _a.length) > 0) {
if (this.AllowMultipleSelection) {
for (const option of this.StartingSelection) {
if (option.value !== OSFramework.OSUI.Constants.EmptyString) {
selectedKeyvalues.push(option.value);
}
}
}
else {
if (this.StartingSelection[0].value !== OSFramework.OSUI.Constants.EmptyString) {
selectedKeyvalues.push(this.StartingSelection[0].value);
}
}
}
return selectedKeyvalues;
}
getProviderConfig() {
const virtualSelectSearchOpts = {
multiple: this.AllowMultipleSelection,
};
return this.mergeConfigs(super.getProviderConfig(), virtualSelectSearchOpts, this.providerExtendedOptions);
}
validateDefault(key, value) {
let validatedValue = undefined;
switch (key) {
case Search.Enum.Properties.AllowMultipleSelection:
validatedValue = this.validateBoolean(value, false);
break;
default:
validatedValue = super.validateDefault(key, value);
break;
}
return validatedValue;
}
}
Search.VirtualSelectSearchConfig = VirtualSelectSearchConfig;
})(Search = VirtualSelect.Search || (VirtualSelect.Search = {}));
})(VirtualSelect = Dropdown.VirtualSelect || (Dropdown.VirtualSelect = {}));
})(Dropdown = OSUI.Dropdown || (OSUI.Dropdown = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Dropdown;
(function (Dropdown) {
var VirtualSelect;
(function (VirtualSelect) {
var Tags;
(function (Tags) {
class OSUIVirtualSelectTags extends VirtualSelect.AbstractVirtualSelect {
constructor(uniqueId, configs) {
super(uniqueId, new Tags.VirtualSelectTagsConfig(configs));
this.hiddenInputWrapperAriaLabelVal = Dropdown.VirtualSelect.Enum.PropertiesValues.AriaLabelMultipleValue;
}
getSelectedOptionsStructure() {
const optionsSelected = this.virtualselectConfigs.getSelectedOptions();
return optionsSelected;
}
prepareConfigs() {
this.virtualselectOpts = this.configs.getProviderConfig();
this.createProviderInstance();
}
}
Tags.OSUIVirtualSelectTags = OSUIVirtualSelectTags;
})(Tags = VirtualSelect.Tags || (VirtualSelect.Tags = {}));
})(VirtualSelect = Dropdown.VirtualSelect || (Dropdown.VirtualSelect = {}));
})(Dropdown = OSUI.Dropdown || (OSUI.Dropdown = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Dropdown;
(function (Dropdown) {
var VirtualSelect;
(function (VirtualSelect) {
var Tags;
(function (Tags) {
class VirtualSelectTagsConfig extends VirtualSelect.AbstractVirtualSelectConfig {
getSelectedValues() {
const selectedKeyvalues = [];
if (this.StartingSelection.length > 0) {
for (const option of this.StartingSelection) {
if (option.value !== OSFramework.OSUI.Constants.EmptyString) {
selectedKeyvalues.push(option.value);
}
}
}
return selectedKeyvalues;
}
getProviderConfig() {
const virtualSelectTagsOpts = {
multiple: true,
showValueAsTags: true,
};
return this.mergeConfigs(super.getProviderConfig(), virtualSelectTagsOpts, this.providerExtendedOptions);
}
}
Tags.VirtualSelectTagsConfig = VirtualSelectTagsConfig;
})(Tags = VirtualSelect.Tags || (VirtualSelect.Tags = {}));
})(VirtualSelect = Dropdown.VirtualSelect || (Dropdown.VirtualSelect = {}));
})(Dropdown = OSUI.Dropdown || (OSUI.Dropdown = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var MonthPicker;
(function (MonthPicker) {
var Flatpickr;
(function (Flatpickr) {
var Enum;
(function (Enum) {
let Attribute;
(function (Attribute) {
Attribute["DefaultAriaLabel"] = "Select a month";
})(Attribute = Enum.Attribute || (Enum.Attribute = {}));
let CssClasses;
(function (CssClasses) {
CssClasses["AccessibilityContainerInfo"] = "osui-monthpicker-a11y";
})(CssClasses = Enum.CssClasses || (Enum.CssClasses = {}));
})(Enum = Flatpickr.Enum || (Flatpickr.Enum = {}));
})(Flatpickr = MonthPicker.Flatpickr || (MonthPicker.Flatpickr = {}));
})(MonthPicker = OSUI.MonthPicker || (OSUI.MonthPicker = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var MonthPicker;
(function (MonthPicker) {
var Flatpickr;
(function (Flatpickr) {
Flatpickr.ErrorCodes = {
FailSetLocale: 'OSUI-PRO-01001',
};
})(Flatpickr = MonthPicker.Flatpickr || (MonthPicker.Flatpickr = {}));
})(MonthPicker = OSUI.MonthPicker || (OSUI.MonthPicker = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var MonthPicker;
(function (MonthPicker) {
var Flatpickr;
(function (Flatpickr) {
class OSUIFlatpickrMonth extends OSFramework.OSUI.Patterns.MonthPicker.AbstractMonthPicker {
constructor(uniqueId, configs) {
super(uniqueId, new Flatpickr.FlatpickrMonthConfig(configs));
this.configs.OnChangeEventCallback = this.onMonthSelectedEvent.bind(this);
this.configs.OnCloseEventCallback = this.onClose.bind(this);
this.configs.OnOpenEventCallback = this.onOpen.bind(this);
}
_getBodyOnClickGlobalEvent() {
this._bodyOnClickGlobalEvent =
OSFramework.OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.events.get(OSFramework.OSUI.Event.DOMEvents.Listeners.Type.BodyOnClick);
}
_setAttributes() {
this.flatpickrInputElem = this.monthPickerPlatformInputElem.nextSibling;
OSFramework.OSUI.Helper.Dom.Attribute.Set(this.flatpickrInputElem, OSFramework.OSUI.GlobalEnum.HTMLAttributes.DataInput, OSFramework.OSUI.Constants.EmptyString);
if (this.flatpickrInputElem.disabled) {
OSFramework.OSUI.Helper.Dom.Attribute.Remove(this.flatpickrInputElem, OSFramework.OSUI.GlobalEnum.HTMLAttributes.Disabled);
}
}
_setCalendarCssClasses() {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(this.provider.calendarContainer, OSFramework.OSUI.Patterns.MonthPicker.Enum.CssClass.Dropdown);
if (OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(this.flatpickrInputElem, OSFramework.OSUI.GlobalEnum.InputClassTypes.InputLarge)) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(this.provider.calendarContainer, OSFramework.OSUI.Patterns.Dropdown.Enum.CssClass.DropdownLarge);
}
else if (OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(this.flatpickrInputElem, OSFramework.OSUI.GlobalEnum.InputClassTypes.InputSmall)) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(this.provider.calendarContainer, OSFramework.OSUI.Patterns.Dropdown.Enum.CssClass.DropdownSmall);
}
if (this.configs.ExtendedClass !== '') {
OSFramework.OSUI.Helper.Dom.Styles.ExtendedClass(this.provider.calendarContainer, '', this.configs.ExtendedClass);
}
}
_updateA11yProperties() {
OSFramework.OSUI.Helper.Dom.Attribute.Set(this.flatpickrInputElem, OSFramework.OSUI.Constants.A11YAttributes.TabIndex, this._isPlatformInputDisabled
? OSFramework.OSUI.Constants.A11YAttributes.States.TabIndexHidden
: OSFramework.OSUI.Constants.A11YAttributes.States.TabIndexShow);
OSFramework.OSUI.Helper.Dom.Attribute.Set(this.flatpickrInputElem, OSFramework.OSUI.Constants.A11YAttributes.Aria.Hidden, this._isPlatformInputDisabled.toString());
}
createProviderInstance() {
if (this.monthPickerPlatformInputElem && this._flatpickrOpts.defaultDate === undefined) {
this.monthPickerPlatformInputElem.value = OSFramework.OSUI.Constants.EmptyString;
}
this.provider = window.flatpickr(this.monthPickerPlatformInputElem, this._flatpickrOpts);
this._setAttributes();
if (this.provider.calendarContainer !== undefined) {
this._setCalendarCssClasses();
this._bodyScrollCommonBehaviour = new OSUI.SharedProviderResources.Flatpickr.UpdatePositionOnScroll(this);
this._zindexCommonBehavior = new OSUI.SharedProviderResources.Flatpickr.UpdateZindex(this);
OSFramework.OSUI.Helper.Dom.SetInputValue(this.monthPickerPlatformInputElem, this.monthPickerPlatformInputElem.nextSibling.value);
}
this.updatePlatformInputAttrs();
this.setA11YProperties();
this.updateProviderEvents({
name: OSUI.SharedProviderResources.Flatpickr.Enum.ProviderInfo.Name,
version: OSUI.SharedProviderResources.Flatpickr.Enum.ProviderInfo.Version,
events: this.provider.config,
});
this.triggerPlatformInitializedEventCallback();
}
onClose() {
if (this._bodyOnClickGlobalEvent !== undefined) {
this._bodyOnClickGlobalEvent.enableBodyClickEvent();
}
}
onMonthSelectedEvent(selectedMonthYear) {
const _selectedMonthYear = {
month: OSFramework.OSUI.Constants.EmptyString,
monthOrder: OSFramework.OSUI.Constants.InvalidNumber,
year: OSFramework.OSUI.Constants.InvalidNumber,
};
if (selectedMonthYear.length > 0) {
const _selectedDate = selectedMonthYear[0];
const _selectedMonthIndex = _selectedDate.getMonth();
_selectedMonthYear.month = OSFramework.OSUI.Constants.Months[_selectedMonthIndex];
_selectedMonthYear.monthOrder = _selectedMonthIndex + 1;
_selectedMonthYear.year = _selectedDate.getFullYear();
}
else {
OSFramework.OSUI.Helper.Dom.SetInputValue(this.monthPickerPlatformInputElem, ' ');
}
OSFramework.OSUI.Helper.Dom.SetInputValue(this.monthPickerPlatformInputElem, this.flatpickrInputElem.value);
this.triggerPlatformEventCallback(this.onSelectedCallbackEvent, _selectedMonthYear.month, _selectedMonthYear.monthOrder, _selectedMonthYear.year);
}
onOpen() {
if (this._bodyOnClickGlobalEvent !== undefined) {
this._bodyOnClickGlobalEvent.disableBodyClickEvent();
}
}
prepareConfigs() {
this._flatpickrOpts = this.configs.getProviderConfig();
this.createProviderInstance();
}
setA11YProperties() {
OSFramework.OSUI.Helper.Dom.Attribute.Set(this.monthPickerPlatformInputElem, OSFramework.OSUI.Constants.A11YAttributes.TabIndex, OSFramework.OSUI.Constants.A11YAttributes.States.TabIndexHidden);
OSFramework.OSUI.Helper.Dom.Attribute.Set(this.monthPickerPlatformInputElem, OSFramework.OSUI.Constants.A11YAttributes.Aria.Hidden, OSFramework.OSUI.Constants.A11YAttributes.States.True);
OSFramework.OSUI.Helper.Dom.Attribute.Set(this._a11yInfoContainerElem, OSFramework.OSUI.Constants.A11YAttributes.Aria.Hidden, OSFramework.OSUI.Constants.A11YAttributes.States.True);
this._updateA11yProperties();
let ariaLabelValue = Flatpickr.Enum.Attribute.DefaultAriaLabel;
if (this.monthPickerPlatformInputElem.hasAttribute(OSFramework.OSUI.Constants.A11YAttributes.Aria.Label)) {
ariaLabelValue = this.monthPickerPlatformInputElem.getAttribute(OSFramework.OSUI.Constants.A11YAttributes.Aria.Label);
}
OSFramework.OSUI.Helper.A11Y.AriaLabel(this.flatpickrInputElem, ariaLabelValue);
OSFramework.OSUI.Helper.A11Y.AriaDescribedBy(this.flatpickrInputElem, this._a11yInfoContainerElem.id);
if (this.configs.Lang !== OSFramework.OSUI.Constants.Language.short) {
this._a11yInfoContainerElem.innerHTML =
MonthPicker.Flatpickr.l10ns.A11yContainerInfo[this.configs.Lang] !== undefined
? MonthPicker.Flatpickr.l10ns.A11yContainerInfo[this.configs.Lang].htmlTex
: MonthPicker.Flatpickr.l10ns.A11yContainerInfo.en.htmlTex;
}
}
setCallbacks() {
console.log(OSFramework.OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
setHtmlElements() {
this.monthPickerPlatformInputElem = this.selfElement.querySelector(OSFramework.OSUI.GlobalEnum.CSSSelectors.InputFormControl);
this._isPlatformInputDisabled = this.monthPickerPlatformInputElem.disabled;
this._a11yInfoContainerElem = OSFramework.OSUI.Helper.Dom.TagSelector(this.selfElement.parentElement, OSFramework.OSUI.Constants.Dot + Flatpickr.Enum.CssClasses.AccessibilityContainerInfo);
if (!this.monthPickerPlatformInputElem) {
throw new Error(`The monthpicker input at MonthpickerId '${this.widgetId}' is missing`);
}
}
unsetCallbacks() {
this.configs.OnChangeEventCallback = undefined;
this.configs.OnCloseEventCallback = undefined;
this.configs.OnOpenEventCallback = undefined;
this.onSelectedCallbackEvent = undefined;
super.unsetCallbacks();
}
unsetHtmlElements() {
this.monthPickerPlatformInputElem = undefined;
}
updatePlatformInputAttrs() {
OSFramework.OSUI.Helper.Dom.Attribute.Set(this.monthPickerPlatformInputElem, OSFramework.OSUI.GlobalEnum.HTMLAttributes.Type, OSFramework.OSUI.GlobalEnum.InputTypeAttr.Text);
}
build() {
super.build();
this._getBodyOnClickGlobalEvent();
this.setHtmlElements();
this.prepareConfigs();
this.finishBuild();
}
changeProperty(propertyName, propertyValue) {
const oldExtendedClass = this.configs.ExtendedClass;
super.changeProperty(propertyName, propertyValue);
if (this.isBuilt) {
switch (propertyName) {
case OSFramework.OSUI.Patterns.MonthPicker.Enum.Properties.InitialMonth:
case OSFramework.OSUI.Patterns.MonthPicker.Enum.Properties.DateFormat:
case OSFramework.OSUI.Patterns.MonthPicker.Enum.Properties.MaxMonth:
case OSFramework.OSUI.Patterns.MonthPicker.Enum.Properties.MinMonth:
this.redraw();
break;
case OSFramework.OSUI.GlobalEnum.CommonPatternsProperties.ExtendedClass:
OSFramework.OSUI.Helper.Dom.Styles.ExtendedClass(this.provider.calendarContainer, oldExtendedClass, propertyValue);
break;
}
}
}
clear() {
const isInputDisable = this.monthPickerPlatformInputElem.disabled;
if (isInputDisable === false) {
this.provider.clear();
}
}
close() {
if (this.provider.isOpen) {
this.provider.close();
}
}
dispose() {
if (this.isBuilt) {
this.unsetCallbacks();
this.unsetHtmlElements();
if (this._bodyScrollCommonBehaviour !== undefined) {
this._bodyScrollCommonBehaviour.dispose();
this._bodyScrollCommonBehaviour = undefined;
}
OSFramework.OSUI.Helper.AsyncInvocation(this.provider.destroy);
}
super.dispose();
}
onRender() {
const isInputDisable = this.monthPickerPlatformInputElem.disabled;
if (this._isPlatformInputDisabled !== isInputDisable) {
this._isPlatformInputDisabled = isInputDisable;
this._updateA11yProperties();
}
}
open() {
const isInputDisable = this.monthPickerPlatformInputElem.disabled;
if (this.provider.isOpen === false && isInputDisable === false) {
this.provider.open();
}
}
registerCallback(eventName, callback) {
switch (eventName) {
case OSFramework.OSUI.Patterns.MonthPicker.Enum.Events.OnSelected:
this.onSelectedCallbackEvent = callback;
break;
default:
super.registerCallback(eventName, callback);
break;
}
}
setEditableInput(isEditable) {
if (this.configs.AllowInput !== isEditable) {
this.configs.AllowInput = isEditable;
this.redraw();
}
}
setLanguage(value) {
this.configs.Lang = value.toLowerCase();
if (this.provider !== undefined) {
this.redraw();
}
}
setProviderConfigs(newConfigs) {
this.configs.setExtensibilityConfigs(newConfigs);
this.redraw();
super.setProviderConfigs(newConfigs);
}
updateInitialMonth(monthYear) {
if (this.monthPickerPlatformInputElem.disabled === false) {
this.configs.InitialMonth = monthYear;
this.redraw();
}
}
updatePrompt(promptMessage) {
this.flatpickrInputElem.placeholder = promptMessage;
}
}
Flatpickr.OSUIFlatpickrMonth = OSUIFlatpickrMonth;
})(Flatpickr = MonthPicker.Flatpickr || (MonthPicker.Flatpickr = {}));
})(MonthPicker = OSUI.MonthPicker || (OSUI.MonthPicker = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var MonthPicker;
(function (MonthPicker) {
var Flatpickr;
(function (Flatpickr) {
class FlatpickrMonthConfig extends OSFramework.OSUI.Patterns.MonthPicker.AbstractMonthPickerConfig {
constructor(config) {
super(config);
this.AllowInput = false;
this.DisableMobile = true;
this._lang = OSFramework.OSUI.Helper.Language.ShortLang;
}
_checkDateFormat() {
return this.DateFormat !== '' ? this._mapProviderDateFormat() : this.ServerDateFormat;
}
_checkLocale() {
let _locale;
try {
_locale = window.flatpickr.l10ns[this._lang];
}
catch (error) {
throw new Error(`${Flatpickr.ErrorCodes.FailSetLocale}: Locale '${this._lang}' not found!`);
}
return _locale;
}
_checkServerDateFormat() {
this.ServerDateFormat = OSFramework.OSUI.Helper.Dates.ServerFormat.replace(OSFramework.OSUI.GlobalEnum.DateFormat.YYYY, OSFramework.OSUI.GlobalEnum.DateFormat.Y)
.replace(OSFramework.OSUI.GlobalEnum.DateFormat.MM, OSFramework.OSUI.GlobalEnum.DateFormat.m)
.replace(OSFramework.OSUI.GlobalEnum.DateFormat.DD, OSFramework.OSUI.Constants.EmptyString);
}
_getDateFromMonthYear(monthYear) {
const _monthIndex = OSFramework.OSUI.Constants.Months.indexOf(monthYear.Month);
const _validatedYear = monthYear.Year < 1900 ? null : monthYear.Year;
let _newDate = undefined;
if (_monthIndex !== -1 && _validatedYear !== null) {
_newDate = new Date(_validatedYear, _monthIndex, 1);
}
return _newDate;
}
_mapProviderDateFormat() {
const _dateFormat = this.DateFormat.replace(/[^a-zA-Z]/g, ' ').split(' ');
for (const format of _dateFormat) {
switch (format) {
case OSFramework.OSUI.GlobalEnum.DateFormat.YYYY:
this.DateFormat = this.DateFormat.replace(OSFramework.OSUI.GlobalEnum.DateFormat.YYYY, OSFramework.OSUI.GlobalEnum.DateFormat.Y);
break;
case 'YY':
this.DateFormat = this.DateFormat.replace(OSFramework.OSUI.GlobalEnum.DateFormat.YY, OSFramework.OSUI.GlobalEnum.DateFormat.y);
break;
case 'MMM':
this.DateFormat = this.DateFormat.replace(OSFramework.OSUI.GlobalEnum.DateFormat.MMM, OSFramework.OSUI.GlobalEnum.DateFormat.M);
break;
case 'MM':
this.DateFormat = this.DateFormat.replace(OSFramework.OSUI.GlobalEnum.DateFormat.MM, OSFramework.OSUI.GlobalEnum.DateFormat.m);
break;
}
}
return this.DateFormat;
}
getProviderConfig() {
this._checkServerDateFormat();
this._checkDateFormat();
this._providerOptions = {
altInput: true,
allowInput: this.AllowInput,
dateFormat: this.ServerDateFormat,
defaultDate: this._getDateFromMonthYear(this.InitialMonth),
disableMobile: this.DisableMobile,
maxDate: this._getDateFromMonthYear(this.MaxMonth),
minDate: this._getDateFromMonthYear(this.MinMonth),
onChange: this.OnChangeEventCallback,
onClose: this.OnCloseEventCallback,
onOpen: this.OnOpenEventCallback,
plugins: [
new monthSelectPlugin({
shorthand: true,
dateFormat: this.ServerDateFormat,
altFormat: this.DateFormat,
}),
],
};
if (this._providerOptions.locale === undefined) {
this._providerOptions.locale = this._checkLocale();
}
return this.mergeConfigs(this._providerOptions, undefined, this.providerExtendedOptions);
}
setExtensibilityConfigs(newConfigs) {
this.providerExtendedOptions = newConfigs;
}
get Lang() {
return this._lang;
}
set Lang(value) {
this._lang = value.substring(0, 2);
}
}
Flatpickr.FlatpickrMonthConfig = FlatpickrMonthConfig;
})(Flatpickr = MonthPicker.Flatpickr || (MonthPicker.Flatpickr = {}));
})(MonthPicker = OSUI.MonthPicker || (OSUI.MonthPicker = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var MonthPicker;
(function (MonthPicker) {
var Flatpickr;
(function (Flatpickr) {
var l10ns;
(function (l10ns) {
l10ns.A11yContainerInfo = {
ar: {
htmlTex: 'من أجل أن تكون قادرًا على التنقل من خلال التقويم باستخدام مفتاح لوحة المفاتيح: استخدم مفاتيح السهم اليمنى أو CTRL + CTRL + للتنقل عبر أشهر ؛ استخدم مفاتيح الأسهم CMD أو CTRL + لأعلى أو لأسفل للتنقل عبر سنوات ؛',
},
at: {
htmlTex: 'Um mit Tastaturschlüssel durch den Kalender navigieren zu können: Verwenden Sie CMD oder Strg + rechte oder linke Pfeiltasten, um Monate zu navigieren; Verwenden Sie CMD oder Strg + Up- oder Down -Pfeiltasten, um durch Jahre zu navigieren.',
},
az: {
htmlTex: 'Klaviatura açarı ilə təqvimlə naviqasiya etmək üçün: aylarla gəzmək üçün CMD və ya CTRL + sağ və ya sol ox düymələrindən istifadə edin; İllərlə gəzmək üçün CMD və ya CTRL + yuxarı və ya aşağı ox düymələrindən istifadə edin;',
},
be: {
htmlTex: 'Для таго, каб мець магчымасць перамяшчацца па календары з клавішнай клавішай: Выкарыстоўвайце CMD або Ctrl + правай або левай клавішы са стрэлкамі для навігацыі праз месяцы; Выкарыстоўвайце CMD або CTRL + клавішы са стрэлкамі ўверх ці ўніз, каб перамяшчацца праз гады;',
},
bg: {
htmlTex: 'За да можете да се движите през календара с клавиатура на клавиатурата: използвайте CMD или CTRL + десни или леви клавиши със стрелки, за да се движите през месеци; Използвайте CMD или Ctrl + нагоре или надолу клавиши със стрелки, за да навигирате през години;',
},
bn: {
htmlTex: 'কীবোর্ড কী দিয়ে ক্যালেন্ডারের মাধ্যমে নেভিগেট করতে সক্ষম হওয়ার জন্য: কয়েক মাস ধরে নেভিগেট করতে সিএমডি বা সিটিআরএল + ডান বা বাম তীর কী ব্যবহার করুন; কয়েক বছর ধরে নেভিগেট করতে সিএমডি বা সিটিআরএল + উপরে বা ডাউন তীর কী ব্যবহার করুন;',
},
bs: {
htmlTex: 'Da biste mogli kretati se kroz kalendar s tipkovnicom tipkovnicom: koristite CMD ili Ctrl + desno ili lijeve tipke sa strelicama za navigaciju kroz mjesece; Upotrijebite CMD ili Ctrl + gore ili dolje tipke sa strelicama za navigaciju kroz godine;',
},
ca: {
htmlTex: 'Per poder navegar pel calendari amb tecla del teclat: utilitzeu les tecles de fletxa CMD o CTRL + dreta o esquerra per navegar durant mesos; Utilitzeu les tecles de fletxa CMD o Ctrl + amunt o avall per navegar durant anys;',
},
cat: {
htmlTex: 'Per poder navegar pel calendari amb tecla del teclat: utilitzeu les tecles de fletxa CMD o CTRL + dreta o esquerra per navegar durant mesos; Utilitzeu les tecles de fletxa CMD o Ctrl + amunt o avall per navegar durant anys;',
},
ckb: {
htmlTex: 'Ji bo ku bikaribin bi kalîfar bi klavyeyê bi klavyeyê veguhezînin: Bişkojkên CMD an CTRL + Rast an çep an çepê bikar bînin da ku bi mehan rêve bibin; Bişkojkên CMD an CTRL + UP an Down bikar bînin da ku bi salan navigirin;',
},
cs: {
htmlTex: 'Aby bylo možné procházet kalendářem pomocí klávesnice: Použijte KMU CMD nebo CTRL + PRÁVO nebo levé šipky pro navigaci v měsících; Pro navigaci v letech použijte CMD nebo CTRL + nahoru nebo dolů klíče se šipkami;',
},
cy: {
htmlTex: "Er mwyn gallu llywio trwy'r calendr gydag allwedd bysellfwrdd: defnyddiwch allweddi saeth CMD neu Ctrl + dde neu chwith i lywio trwy fisoedd; Defnyddio CMD neu Ctrl + i fyny neu i lawr allweddi saeth i lywio trwy flynyddoedd;",
},
da: {
htmlTex: 'For at kunne navigere gennem kalender med tastaturnøgle: Brug CMD eller Ctrl + højre eller venstre piletaster til at navigere gennem måneder; Brug CMD eller CTRL + op eller ned på piletasterne til at navigere gennem år;',
},
de: {
htmlTex: 'Um mit Tastaturschlüssel durch den Kalender navigieren zu können: Verwenden Sie CMD oder Strg + rechte oder linke Pfeiltasten, um Monate zu navigieren; Verwenden Sie CMD oder Strg + Up- oder Down -Pfeiltasten, um durch Jahre zu navigieren.',
},
en: {
htmlTex: 'In order to be able to navigate through calendar with keyboard key: Use cmd or ctrl + right or left arrow keys to navigate through months; Use cmd or ctrl + up or down arrow keys to navigate through years;',
},
eo: {
htmlTex: 'Por povi navigi tra kalendaro per klavara ŝlosilo: Uzu CMD aŭ CTRL + dekstran aŭ maldekstran sagon por navigi tra monatoj; Uzu CMD aŭ Ctrl + supren aŭ malsupren sago -ŝlosilojn por navigi tra jaroj;',
},
es: {
htmlTex: 'Para poder navegar a través del calendario con la tecla de teclado: use las teclas CMD o CTRL + de flecha derecha o izquierda para navegar durante meses; Use CMD o CTRL + las teclas de flecha hacia arriba o hacia abajo para navegar durante años;',
},
et: {
htmlTex: 'Klaviatuuri klahviga kalendris navigeerimiseks: kasutage kuude jooksul navigeerimiseks CMD või CTRL + paremat või vasakut nooleklahvi; Kasutage aastate jooksul navigeerimiseks CMD või Ctrl + üles või alla nooleklahve;',
},
fa: {
htmlTex: 'برای اینکه بتوانید از طریق تقویم با کلید صفحه کلید حرکت کنید: از کلیدهای پیکان CMD یا CTRL + راست یا چپ برای حرکت در طی ماه ها استفاده کنید. برای حرکت در طی سالها از کلیدهای Arrow CMD یا Ctrl + بالا یا پایین استفاده کنید.',
},
fi: {
htmlTex: 'Kalenterin läpi näppäimistön näppäimellä voi kulkea CMD: n tai Ctrl +: n oikean tai vasemman nuolinäppäimen avulla kulkeaksesi kuukausia; Käytä CMD: tä tai Ctrl + ylös tai alas nuolinäppäimiä navigoidaksesi vuosien ajan;',
},
fo: {
htmlTex: 'Um mit Tastaturschlüssel durch den Kalender navigieren zu können: Verwenden Sie CMD oder Strg + rechte oder linke Pfeiltasten, um Monate zu navigieren; Verwenden Sie CMD oder Strg + Up- oder Down -Pfeiltasten, um durch Jahre zu navigieren.',
},
fr: {
htmlTex: 'Afin de pouvoir naviguer dans le calendrier avec la clé du clavier: utilisez les touches CMD ou CTRL + droite ou gauche pour naviguer dans des mois; Utilisez CMD ou CTRL + les clés de flèches vers le haut ou vers le bas pour naviguer dans des années;',
},
ga: {
htmlTex: "D'fhonn a bheith in ann nascleanúint a dhéanamh trí fhéilire le heochair mhéarchláir: Úsáid Eochracha saighead CMD nó CTRL + ar chlé nó ar chlé chun nascleanúint a dhéanamh trí mhí; Bain úsáid as eochracha CMD nó Ctrl + suas nó síos saighead le nascleanúint a dhéanamh trí bhlianta;",
},
gr: {
htmlTex: 'Προκειμένου να μπορείτε να περιηγηθείτε στο ημερολόγιο με το πλήκτρο πληκτρολογίου: Χρησιμοποιήστε CMD ή CTRL + δεξιά ή αριστερά πλήκτρα βέλους για να περιηγηθείτε σε μήνες. Χρησιμοποιήστε CMD ή CTRL + πάνω ή κάτω πλήκτρα βέλους για να περιηγηθείτε σε χρόνια.',
},
he: {
htmlTex: 'על מנת להיות מסוגל לנווט בלוח השנה עם מקש המקלדת: השתמש במקשי CMD או Ctrl + ימין או שמאל כדי לנווט בחודשים; השתמש במקשי CMD או Ctrl + למעלה או במורד חצים כדי לנווט בשנים;',
},
hi: {
htmlTex: 'कीबोर्ड कुंजी के साथ कैलेंडर के माध्यम से नेविगेट करने में सक्षम होने के लिए: महीनों के माध्यम से नेविगेट करने के लिए सीएमडी या सीटीआरएल + दाएं या बाएं तीर कुंजियों का उपयोग करें; वर्षों के माध्यम से नेविगेट करने के लिए CMD या CTRL + अप या डाउन तीर कुंजियों का उपयोग करें;',
},
hr: {
htmlTex: 'Da biste mogli kretati se kroz kalendar s tipkovnicom tipki: Upotrijebite CMD ili CTRL + desne ili lijeve tipke sa strelicama za kretanje kroz mjesece; Koristite CMD ili Ctrl + tipke sa strelicama gore ili dolje za kretanje kroz godine;',
},
hu: {
htmlTex: 'Annak érdekében, hogy a naptárban navigálhassunk a billentyűzet billentyűvel: használja a CMD vagy a CTRL + jobb vagy a bal nyíl billentyűket a hónapok navigálásához; Használja a CMD -t vagy a Ctrl + felfelé vagy lefelé nyíl kulcsokat az évek során;',
},
hy: {
htmlTex: 'Որպեսզի կարողանաք նավարկվել ստեղնաշարի ստեղնաշարի միջոցով. Օգտագործեք CMD կամ CTRL + աջ կամ ձախ սլաքի ստեղներ `ամիսների միջոցով նավարկելու համար; Տարիներ շարունակ նավարկելու համար օգտագործեք CMD կամ CTRL + Up կամ Down Arrow ստեղներ.',
},
id: {
htmlTex: 'Agar dapat menavigasi melalui kalender dengan kunci keyboard: Gunakan cmd atau ctrl + tombol panah kanan atau kiri untuk menavigasi selama berbulan -bulan; Gunakan CMD atau Ctrl + Kunci Panah Atas atau Bawah untuk menavigasi selama bertahun -tahun;',
},
is: {
htmlTex: 'Til þess að geta flett í gegnum dagatal með lyklaborðslykli: Notaðu CMD eða Ctrl + hægri eða vinstri örvatakkana til að sigla í gegnum mánuði; Notaðu CMD eða Ctrl + upp eða niður örvatakkana til að sigla í gegnum ár;',
},
it: {
htmlTex: 'Per poter navigare attraverso il calendario con il tasto tastiera: utilizzare i tasti freccia CMD o CTRL + destra o sinistra per navigare nei mesi; Utilizzare CMD o CTRL + SU o Down Freccia per navigare per anni;',
},
ja: {
htmlTex: 'キーボードキーを使用してカレンダーをナビゲートできるようにするCMDまたはCtrl +上または下の矢印キーを使用して、年を操作します。',
},
ka: {
htmlTex: 'იმისათვის, რომ შეძლოთ კალენდარი კლავიშის გასაღებით კალენდარში: გამოიყენეთ CMD ან CTRL + მარჯვენა ან მარცხენა ისრის გასაღებები, რომ მოხდეს თვეების განმავლობაში ნავიგაცია; გამოიყენეთ CMD ან CTRL + ზემოთ ან ქვემოთ ისრის გასაღებები, რომლითაც წლების განმავლობაში ნავიგაციაა;',
},
km: {
htmlTex: 'ដើម្បីអាចរុករកតាមប្រតិទិនដោយប្រើគ្រាប់ចុចក្តារចុច: ប្រើ cmd ឬបញ្ជា (Ctrl) + គ្រាប់ចុចព្រួញស្ដាំឬឆ្វេងដើម្បីរុករកពេញមួយខែ។ ប្រើ CMD ឬបញ្ជា (Ctrl) + គ្រាប់ចុចព្រួញចុះក្រោមឬចុះក្រោមដើម្បីរុករកពេញមួយឆ្នាំ;',
},
ko: {
htmlTex: '키보드 키로 캘린더를 탐색 할 수 있도록 : CMD 또는 CTRL + 오른쪽 또는 왼쪽 화살표 키를 사용하여 몇 달 동안 탐색하십시오. CMD 또는 Ctrl + Up 또는 Down Arrow 키를 사용하여 수년 동안 탐색하십시오.',
},
kz: {
htmlTex: 'Пернетақта пернесімен күнтізбе арқылы шарлау үшін: бірнеше айлармен шарлау үшін CMD немесе CTRL + оң немесе сол жақ көрсеткі пернелерін пайдаланыңыз; Жылдар бойына шарлау үшін CMD немесе CTRL + UP немесе төмен көрсеткілерді қолданыңыз;',
},
lt: {
htmlTex: 'Norėdami naršyti po kalendorių su klaviatūros klavišu: naudokite CMD arba CTRL + dešinę arba kairę rodyklės klavišus, kad galėtumėte naršyti po mėnesių; Norėdami naršyti po metus, naudokite CMD arba CTRL + aukštyn arba žemyn rodyklių klavišus;',
},
lv: {
htmlTex: 'Lai varētu pārvietoties pa kalendāru ar tastatūras atslēgu: izmantojiet CMD vai CTRL + labās vai kreisās bultiņas taustiņus, lai pārvietotos mēnešos; Izmantojiet cmd vai ctrl + uz augšu vai uz leju bultiņu taustiņiem, lai pārvietotos pa gadiem;',
},
mk: {
htmlTex: 'За да можете да се движите низ календарот со копчето за тастатура: Користете CMD или CTRL + десно или лево стрела со стрелки за да се движите низ месеци; Користете CMD или CTRL + UPAR или DOWN ARROW ARROW за да се движите низ години;',
},
mn: {
htmlTex: 'Гарны түлхүүрээр хуанлигаар дамжуулан явах боломжтой байхын тулд: CMD эсвэл CTD эсвэл CTRL + CRD эсвэл CTRL + RUPER эсвэл LOUT эсвэл LOW эсвэл Зүүн сум ашиглана уу; CMD эсвэл CTRL + UP эсвэл AP A эсвэл DOWN ARCE товчийг ашиглан олон жилийн турш дамжин өнгөрөх;',
},
ms: {
htmlTex: 'Untuk dapat menavigasi kalendar dengan kekunci papan kekunci: Gunakan kekunci anak panah kanan atau kiri CTRL + untuk menavigasi bulan; Gunakan kekunci anak panah CMD atau Ctrl + Up atau Down untuk menavigasi selama bertahun -tahun;',
},
my: {
htmlTex: 'ကီးဘုတ်ကီးနှင့်အတူပြက္ခဒိန်မှတဆင့်ဖြတ်သန်းသွားနိုင်ရန်အတွက်လများကိုသွားရန် CMD သို့မဟုတ် Ctrl + လက်ဝဲသို့မဟုတ်လက်ဝဲ lerow keys များကိုသုံးပါ။ နှစ်ပေါင်းသွားရန် CMD သို့မဟုတ် Ctrl + Up သို့မဟုတ် Up arrow သော့များကိုသုံးပါ။',
},
nl: {
htmlTex: 'Om door de kalender met toetsenbordsleutel te kunnen navigeren: gebruik CMD of CTRL + rechter- of linker pijltoetsen om maanden door te navigeren; Gebruik CMD of Ctrl + omhoog of omlaag pijltoetsen om jaren door te navigeren;',
},
nb: {
htmlTex: 'For å kunne navigere gjennom kalender med tastaturnøkkel: Bruk CMD eller CTRL + høyre eller venstre piltaster for å navigere gjennom måneder; Bruk CMD eller CTRL + opp eller ned piltastene for å navigere gjennom år;',
},
nn: {
htmlTex: 'For å kunne navigere gjennom kalender med tastaturnøkkel: Bruk CMD eller CTRL + høyre eller venstre piltaster for å navigere gjennom måneder; Bruk CMD eller CTRL + opp eller ned piltastene for å navigere gjennom år;',
},
no: {
htmlTex: 'For å kunne navigere gjennom kalender med tastaturnøkkel: Bruk CMD eller CTRL + høyre eller venstre piltaster for å navigere gjennom måneder; Bruk CMD eller CTRL + opp eller ned piltastene for å navigere gjennom år;',
},
pa: {
htmlTex: 'ਕੀਬੋਰਡ ਕੁੰਜੀ ਨਾਲ ਕੈਲੰਡਰ ਨੂੰ ਨੈਵੀਗੇਟ ਕਰਨ ਦੇ ਯੋਗ ਹੋਣ ਲਈ: ਮਹੀਨਿਆਂ ਦੇ ਜ਼ਰੀਏ ਨੈਵੀਗੇਟ ਕਰਨ ਲਈ ਸੀ.ਐੱਮ.ਡੀ. ਜਾਂ Ctrl + ਸੱਜੇ ਜਾਂ ਖੱਬੇ ਐਰੋ ਬਟਨ ਦੀ ਵਰਤੋਂ ਕਰੋ; ਸਾਲਾਂ ਦੁਆਰਾ ਨੇਵੀਗੇਟ ਕਰਨ ਲਈ ਸੀ.ਐੱਮ.ਡੀ. ਜਾਂ Ctrl + U ਉੱਪਰ ਜਾਂ ਹੇਠਾਂ ਐਰੋ ਬਟਨ ਦੀ ਵਰਤੋਂ ਕਰੋ;',
},
pl: {
htmlTex: 'Aby móc poruszać się po kalendarzu z klawiszem klawiatury: Użyj CMD lub CTRL + prawej lub lewej strzałki, aby nawigować przez miesiące; Użyj CMD lub CTRL + w górę lub w dół klawiszy strzałek, aby poruszać się przez lata;',
},
pt: {
htmlTex: 'Para poder navegar pelo calendário com a tecla do teclado: use as teclas de seta CMD ou Ctrl + direita ou esquerda para navegar por meses; Use as teclas de seta CMD ou Ctrl + para cima ou para baixo para navegar por anos;',
},
ro: {
htmlTex: 'Pentru a putea naviga prin calendarul cu tasta tastatură: utilizați tastele săgeată CMD sau CTRL + dreapta sau stânga pentru a naviga prin luni; Utilizați tastele săgeată CMD sau Ctrl + în sus sau în jos pentru a naviga de -a lungul anilor;',
},
ru: {
htmlTex: 'Чтобы иметь возможность ориентироваться в календаре с клавишной клавиш: используйте CMD или Ctrl + правый или левый клавиш стрелка, чтобы перемещаться в течение нескольких месяцев; Используйте CMD или CTRL + клавиши стрелки вверх или вниз, чтобы перемещаться по годам;',
},
si: {
htmlTex: 'යතුරුපුවරු යතුර සමඟ දින දර්ශනය හරහා සැරිසැරීමට හැකි වීම සඳහා: මාස ගණනක් තුළ සැරිසැරීමට CMD හෝ CTRL + දකුණ හෝ වම් ඊතල යතුරු භාවිතා කරන්න; අවුරුදු ගණනාව තුළ සැරිසැරීමට CMD හෝ CTRL + ඉහළට හෝ පහළට ඊතල යතුරු භාවිතා කරන්න;',
},
sk: {
htmlTex: 'Aby ste mohli prejsť v kalendári s klávesom Keyboard: Pomocou klávesov CMD alebo CTRL + vpravo alebo ľavej šípky navigujte v priebehu mesiacov; Na previgovanie rokov použite kľúče od CMD alebo CTRL + hore alebo dole;',
},
sl: {
htmlTex: 'Da bi se lahko pomaknili po koledarju s tipkovnico tipkovnice: uporabite CMD ali Ctrl + desno ali levo puščico za krmarjenje po mesecih; Za krmarjenje skozi leta uporabite tipke CMD ali CTRL + UP ali Down;',
},
sq: {
htmlTex: 'Në mënyrë që të jeni në gjendje të lundroni nëpër kalendar me çelësin e tastierës: Përdorni çelësat e shigjetës CMD ose CTRL + të djathtë ose të majtë për të lundruar me muaj; Përdorni çelësat e shigjetës CMD ose CTRL + lart ose poshtë për të lundruar me vite;',
},
sr: {
htmlTex: 'Да бисте могли да се крећете кроз календар са кључем тастатуре: Користите ЦМД или ЦТРЛ + десно или леве тастере са стрелицом да се крећете кроз месецима; Користите ЦМД или ЦТРЛ + горе или доле стрелице са стрелицама да бисте се кретали кроз године;',
},
sv: {
htmlTex: 'För att kunna navigera genom kalendern med tangentbordsknapp: Använd CMD eller CTRL + höger eller vänster pilnycklar för att navigera genom månader; Använd CMD eller CTRL + upp eller ned pilnycklar för att navigera genom år;',
},
th: {
htmlTex: 'เพื่อให้สามารถนำทางผ่านปฏิทินด้วยคีย์บอร์ดคีย์บอร์ด: ใช้ปุ่มลูกศร CMD หรือ CTRL + ขวาหรือซ้ายเพื่อนำทางผ่านเดือน ใช้ปุ่มลูกศร CMD หรือ CTRL + ขึ้นหรือลงเพื่อนำทางผ่านปี',
},
tr: {
htmlTex: 'Klavye anahtarıyla takvimde gezinebilmek için: aylar boyunca gezinmek için CMD veya CTRL + sağ veya sol ok tuşlarını kullanın; Yıllar boyunca gezinmek için CMD veya CTRL + yukarı veya aşağı ok tuşlarını kullanın;',
},
uk: {
htmlTex: 'Для того, щоб мати можливість орієнтуватися по календарі за допомогою клавіатури клавіатури: Використовуйте клавіші стрілки CMD або CTRL +, щоб перейти до місяців; Використовуйте клавіші стрілки CMD або CTRL + вгору або вниз, щоб орієнтуватися на роки;',
},
uz: {
htmlTex: "Klaviatura kaliti bilan taqvimga o'tish imkoniyatiga ega bo'lish uchun: CMD yoki CTRL + o'ng yoki chap o'q tugmalaridan oylar davomida harakatlanish uchun foydalaning; CMD yoki CTRL + yuqoriga yoki pastga o'qishni yillar davomida o'tish uchun foydalaning;",
},
vn: {
htmlTex: 'Để có thể điều hướng qua lịch bằng phím bàn phím: Sử dụng các phím CMD hoặc CTRL + bên phải hoặc bên trái để điều hướng qua tháng; Sử dụng các phím mũi tên CMD hoặc Ctrl + lên hoặc xuống để điều hướng qua nhiều năm;',
},
zh: {
htmlTex: '為了能夠使用鍵盤鍵瀏覽日曆:使用CMD或CTRL +右或左箭頭密鑰在幾個月中導航;使用CMD或CTRL +向上或向下箭頭鍵在多年中導航;',
},
zh_tw: {
htmlTex: '为了能够使用键盘键浏览日历:使用CMD或CTRL +右或左箭头密钥在几个月中导航;使用CMD或CTRL +向上或向下箭头键在多年中导航;',
},
};
})(l10ns = Flatpickr.l10ns || (Flatpickr.l10ns = {}));
})(Flatpickr = MonthPicker.Flatpickr || (MonthPicker.Flatpickr = {}));
})(MonthPicker = OSUI.MonthPicker || (OSUI.MonthPicker = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var RangeSlider;
(function (RangeSlider) {
var NoUISlider;
(function (NoUISlider) {
class AbstractNoUiSlider extends OSFramework.OSUI.Patterns.RangeSlider.AbstractRangeSlider {
constructor(uniqueId, configs) {
super(uniqueId, configs);
this.throttleTimeValue = 200;
this.throttleTimer = undefined;
this._isInterval =
this.configs.rangeSliderMode === OSFramework.OSUI.Patterns.RangeSlider.Enum.Mode.Interval;
}
_setIsDisabled(isDisabled) {
isDisabled ? this.provider.disable() : this.provider.enable();
}
_setOnValueChangeEvent(changeEvent) {
this.provider.on(changeEvent, this.eventProviderValueChanged);
}
_setSize() {
if (this.configs.Size.includes('%') && parseFloat(this.configs.Size) > 100) {
this.configs.Size = OSFramework.OSUI.Patterns.RangeSlider.Enum.DefaultValues.PercentualSize;
console.warn(`The value of the Size property on the '${this.widgetId}' ${OSFramework.OSUI.GlobalEnum.PatternName.RangeSlider} can't be smaller than '${OSFramework.OSUI.Patterns.RangeSlider.Enum.DefaultValues.PercentualSize}'.`);
}
OSFramework.OSUI.Helper.Dom.Styles.SetStyleAttribute(this.selfElement, OSFramework.OSUI.Patterns.RangeSlider.Enum.CssProperties.Size, this.configs.Size);
}
_updateRangeValues() {
this.provider.updateOptions({
range: this.configs.getRangeConfig(),
});
if (this.configs.ShowTickMarks) {
this.provider.updateOptions({ pips: this.configs.getPipsConfig() });
}
}
createProviderInstance() {
this.provider = window.noUiSlider.create(this._rangeSliderProviderElem, this.noUiSliderOpts);
this.setInitialStates();
this.updateProviderEvents({
name: RangeSlider.NoUiSlider.Enum.ProviderInfo.Name,
version: RangeSlider.NoUiSlider.Enum.ProviderInfo.Version,
events: this.provider,
});
this.setInitialCSSClasses();
this._setOnValueChangeEvent(RangeSlider.NoUiSlider.Enum.NoUISliderEvents.Slide);
this.triggerPlatformInitializedEventCallback();
}
setHtmlElements() {
this._rangeSliderProviderElem = OSFramework.OSUI.Helper.Dom.ClassSelector(this.selfElement, OSFramework.OSUI.Patterns.RangeSlider.Enum.CssClass.RangeSliderProviderElem);
}
setInitialCSSClasses() {
if (this.configs.Orientation === OSFramework.OSUI.GlobalEnum.Orientation.Vertical) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(this.selfElement, OSFramework.OSUI.Patterns.RangeSlider.Enum.CssClass.ClassModifier +
OSFramework.OSUI.GlobalEnum.Orientation.Vertical);
}
else if (OSFramework.OSUI.GlobalEnum.Orientation.Horizontal) {
OSFramework.OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, OSFramework.OSUI.Patterns.RangeSlider.Enum.CssClass.ClassModifier +
OSFramework.OSUI.GlobalEnum.Orientation.Vertical);
}
if (this.configs.ShowTickMarks) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(this.selfElement, OSFramework.OSUI.Patterns.RangeSlider.Enum.CssClass.HasTicks);
}
else {
OSFramework.OSUI.Helper.Dom.Styles.RemoveClass(this.selfElement, OSFramework.OSUI.Patterns.RangeSlider.Enum.CssClass.HasTicks);
}
}
setInitialStates() {
this._setSize();
this._setIsDisabled(this.configs.IsDisabled);
}
unsetCallbacks() {
this.eventProviderValueChanged = undefined;
super.unsetCallbacks();
}
unsetHtmlElements() {
this._rangeSliderProviderElem = undefined;
}
build() {
super.build();
this.setHtmlElements();
}
changeProperty(propertyName, propertyValue) {
super.changeProperty(propertyName, propertyValue);
if (this.isBuilt) {
switch (propertyName) {
case OSFramework.OSUI.Patterns.RangeSlider.Enum.Properties.MinValue:
case OSFramework.OSUI.Patterns.RangeSlider.Enum.Properties.MaxValue:
this._updateRangeValues();
break;
case OSFramework.OSUI.Patterns.RangeSlider.Enum.Properties.Orientation:
this.redraw();
break;
case OSFramework.OSUI.Patterns.RangeSlider.Enum.Properties.IsDisabled:
this._setIsDisabled(this.configs.IsDisabled);
break;
case OSFramework.OSUI.Patterns.RangeSlider.Enum.Properties.TickMarksInterval:
this.provider.updateOptions({ pips: this.configs.getPipsConfig() });
break;
case OSFramework.OSUI.Patterns.RangeSlider.Enum.Properties.Step:
this.provider.updateOptions({ step: this.configs.Step });
break;
case OSFramework.OSUI.Patterns.RangeSlider.Enum.Properties.Size:
this._setSize();
break;
case OSFramework.OSUI.Patterns.RangeSlider.Enum.Properties.ShowFloatingLabel:
this.provider.updateOptions({ tooltips: this.configs.getTooltipFormat() });
break;
}
}
}
disable() {
this._setIsDisabled(true);
}
dispose() {
if (this.isBuilt) {
this.unsetCallbacks();
this.unsetHtmlElements();
this.provider.destroy();
}
super.dispose();
}
enable() {
this._setIsDisabled(false);
}
getValue() {
return this.provider.get();
}
registerCallback(eventName, callback) {
switch (eventName) {
case OSFramework.OSUI.Patterns.RangeSlider.Enum.RangeSliderEvents.OnValueChange:
if (this.platformEventValueChange === undefined) {
this.platformEventValueChange = callback;
}
break;
default:
super.registerCallback(eventName, callback);
break;
}
}
setProviderConfigs(newConfigs) {
this.configs.setExtensibilityConfigs(newConfigs);
this.redraw();
super.setProviderConfigs(newConfigs);
}
setRangeIntervalChangeOnDragEnd() {
this.provider.off(RangeSlider.NoUiSlider.Enum.NoUISliderEvents.Slide, this.eventProviderValueChanged);
this._setOnValueChangeEvent(RangeSlider.NoUiSlider.Enum.NoUISliderEvents.Change);
}
}
NoUISlider.AbstractNoUiSlider = AbstractNoUiSlider;
})(NoUISlider = RangeSlider.NoUISlider || (RangeSlider.NoUISlider = {}));
})(RangeSlider = OSUI.RangeSlider || (OSUI.RangeSlider = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var RangeSlider;
(function (RangeSlider) {
var NoUiSlider;
(function (NoUiSlider) {
class AbstractNoUiSliderConfig extends OSFramework.OSUI.Patterns.RangeSlider
.AbstractRangeSliderConfig {
getPipsConfig() {
let tickMarksValues = Math.floor(this.TickMarksInterval);
if (tickMarksValues > this.MaxValue) {
tickMarksValues = this.MaxValue;
}
if (tickMarksValues < 1) {
console.warn('The interval between tick marks, when they exist, can not be smaller than one or a decimal number (library restraint). If you do not want TickMarks to show, set the ShowTickMarks parameter to false.');
this.ShowTickMarks = true;
return null;
}
const ticksDensity = tickMarksValues * 100;
const list = [];
let tick = this.MinValue;
while (tick <= this.MaxValue) {
list.push(tick);
tick += tickMarksValues;
}
if (tick !== this.MaxValue) {
list.push(this.MaxValue);
}
return {
values: list,
density: ticksDensity,
mode: RangeSlider.NoUiSlider.Enum.NoUiSliderModeOptions.Values,
};
}
getProviderConfig() {
this._providerOptions = {
direction: OutSystems.OSUI.Utils.GetIsRTL()
? OSFramework.OSUI.GlobalEnum.Direction.RTL
: OSFramework.OSUI.GlobalEnum.Direction.LTR,
step: this.Step,
orientation: this.Orientation,
pips: this.ShowTickMarks ? this.getPipsConfig() : null,
range: this.getRangeConfig(),
tooltips: this.getTooltipFormat(),
};
return this.mergeConfigs(this._providerOptions, this.providerExtendedOptions);
}
getRangeConfig() {
return {
min: this.MinValue,
max: this.MaxValue === this.MinValue ? 100 : this.MaxValue,
};
}
getTooltipFormat() {
const tooltipValue = this.ShowFloatingLabel ? window.wNumb({ decimals: 0 }) : false;
let tooltipsFormat;
if (this.rangeSliderMode === OSFramework.OSUI.Patterns.RangeSlider.Enum.Mode.Interval) {
tooltipsFormat = [tooltipValue, tooltipValue];
}
else {
tooltipsFormat = [tooltipValue];
}
return tooltipsFormat;
}
setExtensibilityConfigs(newConfigs) {
this.providerExtendedOptions = newConfigs;
}
}
NoUiSlider.AbstractNoUiSliderConfig = AbstractNoUiSliderConfig;
})(NoUiSlider = RangeSlider.NoUiSlider || (RangeSlider.NoUiSlider = {}));
})(RangeSlider = OSUI.RangeSlider || (OSUI.RangeSlider = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var RangeSlider;
(function (RangeSlider) {
var NoUiSlider;
(function (NoUiSlider) {
var Enum;
(function (Enum) {
let ProviderInfo;
(function (ProviderInfo) {
ProviderInfo["Name"] = "noUISlider";
ProviderInfo["Version"] = "15.8.1";
})(ProviderInfo = Enum.ProviderInfo || (Enum.ProviderInfo = {}));
let NoUISliderLabels;
(function (NoUISliderLabels) {
NoUISliderLabels["Handle"] = "handler";
NoUISliderLabels["Lower"] = "lower-handle";
NoUISliderLabels["Single"] = "handle";
NoUISliderLabels["Upper"] = "upper-handle";
})(NoUISliderLabels = Enum.NoUISliderLabels || (Enum.NoUISliderLabels = {}));
let NoUISliderEvents;
(function (NoUISliderEvents) {
NoUISliderEvents["Change"] = "change";
NoUISliderEvents["End"] = "end";
NoUISliderEvents["Start"] = "start";
NoUISliderEvents["Slide"] = "slide";
})(NoUISliderEvents = Enum.NoUISliderEvents || (Enum.NoUISliderEvents = {}));
let NoUiSliderConnectOptions;
(function (NoUiSliderConnectOptions) {
NoUiSliderConnectOptions["Lower"] = "lower";
})(NoUiSliderConnectOptions = Enum.NoUiSliderConnectOptions || (Enum.NoUiSliderConnectOptions = {}));
let NoUiSliderModeOptions;
(function (NoUiSliderModeOptions) {
NoUiSliderModeOptions["Values"] = "values";
})(NoUiSliderModeOptions = Enum.NoUiSliderModeOptions || (Enum.NoUiSliderModeOptions = {}));
})(Enum = NoUiSlider.Enum || (NoUiSlider.Enum = {}));
})(NoUiSlider = RangeSlider.NoUiSlider || (RangeSlider.NoUiSlider = {}));
})(RangeSlider = OSUI.RangeSlider || (OSUI.RangeSlider = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var RangeSlider;
(function (RangeSlider) {
var NoUiSlider;
(function (NoUiSlider) {
var Factory;
(function (Factory) {
function NewNoUiSlider(rangeSliderId, configs, mode) {
let _rangeSliderItem = null;
switch (mode) {
case OSFramework.OSUI.Patterns.RangeSlider.Enum.Mode.Single:
_rangeSliderItem = new Providers.OSUI.RangeSlider.NoUISlider.SingleSlider.OSUINoUiSliderSingle(rangeSliderId, JSON.parse(configs));
break;
case OSFramework.OSUI.Patterns.RangeSlider.Enum.Mode.Interval:
_rangeSliderItem = new Providers.OSUI.RangeSlider.NoUISlider.IntervalSlider.OSUINoUiSliderInterval(rangeSliderId, JSON.parse(configs));
break;
default:
throw new Error(`There is no RangeSlider of ${mode} type`);
}
return _rangeSliderItem;
}
Factory.NewNoUiSlider = NewNoUiSlider;
})(Factory = NoUiSlider.Factory || (NoUiSlider.Factory = {}));
})(NoUiSlider = RangeSlider.NoUiSlider || (RangeSlider.NoUiSlider = {}));
})(RangeSlider = OSUI.RangeSlider || (OSUI.RangeSlider = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var RangeSlider;
(function (RangeSlider) {
var NoUISlider;
(function (NoUISlider) {
var Utils;
(function (Utils) {
function _setRangeValues(providerConfigs) {
const _noUiSliderConfigs = providerConfigs;
if (_noUiSliderConfigs.range) {
if (_noUiSliderConfigs.range.length <= 0) {
delete _noUiSliderConfigs.range;
}
else {
const _rangeValues = {};
for (const element of _noUiSliderConfigs.range) {
_rangeValues[element.key] = element.value === undefined ? 0 : element.value;
}
_noUiSliderConfigs.range = _rangeValues;
}
}
return _noUiSliderConfigs;
}
function NormalizeNoUISliderConfigs(noUiSliderConfigs) {
const finalConfigs = _setRangeValues(noUiSliderConfigs);
return OutSystems.OSUI.Utils.AbstractNormalizeProviderConfigs(finalConfigs);
}
Utils.NormalizeNoUISliderConfigs = NormalizeNoUISliderConfigs;
})(Utils = NoUISlider.Utils || (NoUISlider.Utils = {}));
})(NoUISlider = RangeSlider.NoUISlider || (RangeSlider.NoUISlider = {}));
})(RangeSlider = OSUI.RangeSlider || (OSUI.RangeSlider = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var RangeSlider;
(function (RangeSlider) {
var NoUISlider;
(function (NoUISlider) {
var IntervalSlider;
(function (IntervalSlider) {
class OSUINoUiSliderInterval extends NoUISlider.AbstractNoUiSlider {
constructor(uniqueId, configs) {
super(uniqueId, new NoUISlider.SliderInterval.NoUiSliderIntervalConfig(configs));
}
_valueChangeCallback(value) {
if (value !== undefined) {
this.configs.StartingValueFrom = value[0];
this.configs.StartingValueTo = value[1];
}
if (this.throttleTimer === undefined) {
this.throttleTimer = setTimeout(() => {
this.platformEventValueChange(this.widgetId, this.configs.StartingValueFrom, this.configs.StartingValueTo);
this.throttleTimer = undefined;
}, this.throttleTimeValue);
}
}
prepareConfigs() {
this.noUiSliderOpts = this.configs.getProviderConfig();
this.createProviderInstance();
}
redraw() {
const value = this.getValue();
this.configs.StartingValueFrom = value[0];
this.configs.StartingValueTo = value[1];
super.redraw();
}
setA11YProperties() {
this.noUiSliderOpts.handleAttributes = [
{ 'aria-label': RangeSlider.NoUiSlider.Enum.NoUISliderLabels.Lower },
{ 'aria-label': RangeSlider.NoUiSlider.Enum.NoUISliderLabels.Upper },
];
}
setCallbacks() {
this.eventProviderValueChanged = this._valueChangeCallback.bind(this);
}
build() {
super.build();
this.setCallbacks();
this.prepareConfigs();
this.setA11YProperties();
this.finishBuild();
}
changeProperty(propertyName, propertyValue) {
super.changeProperty(propertyName, propertyValue);
if (this.isBuilt) {
switch (propertyName) {
case OSFramework.OSUI.Patterns.RangeSlider.Enum.Properties.StartingValueFrom:
this.setValue(propertyValue, this.configs.StartingValueTo);
break;
case OSFramework.OSUI.Patterns.RangeSlider.Enum.Properties.StartingValueTo:
this.setValue(this.configs.StartingValueFrom, propertyValue);
break;
case OSFramework.OSUI.Patterns.RangeSlider.Enum.Properties.ShowTickMarks:
this.redraw();
break;
}
}
}
resetValue() {
this.configs.StartingValueFrom = this.configs.InitialValueFrom;
this.configs.StartingValueTo = this.configs.InitialValueTo;
this.provider.set([this.configs.InitialValueFrom, this.configs.InitialValueTo]);
}
setValue(intervalStart, intervalEnd) {
if (intervalStart < intervalEnd) {
this.configs.StartingValueFrom = intervalStart;
this.configs.StartingValueTo = intervalEnd;
this.provider.set([intervalStart, intervalEnd]);
}
else if (intervalStart > this.configs.MinValue && intervalEnd < this.configs.MaxValue) {
throw new Error(`${OSFramework.OSUI.ErrorCodes.RangeSlider.FailSetValue}: The values must be within the specified range.`);
}
else {
throw new Error(`${OSFramework.OSUI.ErrorCodes.RangeSlider.FailSetValue}: The start value cannot be bigger than the end value.`);
}
}
}
IntervalSlider.OSUINoUiSliderInterval = OSUINoUiSliderInterval;
})(IntervalSlider = NoUISlider.IntervalSlider || (NoUISlider.IntervalSlider = {}));
})(NoUISlider = RangeSlider.NoUISlider || (RangeSlider.NoUISlider = {}));
})(RangeSlider = OSUI.RangeSlider || (OSUI.RangeSlider = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var RangeSlider;
(function (RangeSlider) {
var NoUISlider;
(function (NoUISlider) {
var SliderInterval;
(function (SliderInterval) {
class NoUiSliderIntervalConfig extends Providers.OSUI.RangeSlider.NoUiSlider.AbstractNoUiSliderConfig {
constructor(config) {
super(config);
this.rangeSliderMode = OSFramework.OSUI.Patterns.RangeSlider.Enum.Mode.Interval;
}
getProviderConfig() {
let rangeSliderOptions = {
handleAttributes: [
{ 'aria-label': RangeSlider.NoUiSlider.Enum.NoUISliderLabels.Handle },
{ 'aria-label': RangeSlider.NoUiSlider.Enum.NoUISliderLabels.Handle },
],
start: [this.StartingValueFrom, this.StartingValueTo],
connect: true,
};
return this.mergeConfigs(super.getProviderConfig(), rangeSliderOptions, this.providerExtendedOptions);
}
}
SliderInterval.NoUiSliderIntervalConfig = NoUiSliderIntervalConfig;
})(SliderInterval = NoUISlider.SliderInterval || (NoUISlider.SliderInterval = {}));
})(NoUISlider = RangeSlider.NoUISlider || (RangeSlider.NoUISlider = {}));
})(RangeSlider = OSUI.RangeSlider || (OSUI.RangeSlider = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var RangeSlider;
(function (RangeSlider) {
var NoUISlider;
(function (NoUISlider) {
var SingleSlider;
(function (SingleSlider) {
class OSUINoUiSliderSingle extends NoUISlider.AbstractNoUiSlider {
constructor(uniqueId, configs) {
super(uniqueId, new NoUISlider.SliderSingle.NoUiSliderSingleConfig(configs));
}
_valueChangeCallback(value) {
if (value !== undefined) {
this.configs.StartingValueFrom = value[0];
}
if (this.throttleTimer === undefined) {
this.throttleTimer = setTimeout(() => {
this.platformEventValueChange(this.widgetId, this.configs.StartingValueFrom, undefined);
this.throttleTimer = undefined;
}, this.throttleTimeValue);
}
}
prepareConfigs() {
this.noUiSliderOpts = this.configs.getProviderConfig();
this.createProviderInstance();
}
redraw() {
const value = this.getValue();
this.configs.StartingValueFrom = value;
super.redraw();
}
setA11YProperties() {
this.noUiSliderOpts.handleAttributes = [
{ 'aria-label': RangeSlider.NoUiSlider.Enum.NoUISliderLabels.Single },
];
}
setCallbacks() {
this.eventProviderValueChanged = this._valueChangeCallback.bind(this);
}
build() {
super.build();
this.setCallbacks();
this.prepareConfigs();
this.setA11YProperties();
this.finishBuild();
}
changeProperty(propertyName, propertyValue) {
super.changeProperty(propertyName, propertyValue);
if (this.isBuilt) {
switch (propertyName) {
case OSFramework.OSUI.Patterns.RangeSlider.Enum.Properties.StartingValueFrom:
this.setValue(propertyValue);
break;
case OSFramework.OSUI.Patterns.RangeSlider.Enum.Properties.ShowTickMarks:
this.redraw();
break;
}
}
}
resetValue() {
this.configs.StartingValueFrom = this.configs.InitialValueFrom;
this.provider.set(this.configs.InitialValueFrom);
}
setValue(value) {
if (value >= this.configs.MinValue && value <= this.configs.MaxValue) {
this.configs.StartingValueFrom = value;
this.provider.set(value);
}
else {
throw new Error(`${OSFramework.OSUI.ErrorCodes.RangeSlider.FailSetValue}: The value must be between the minimum value and maximum value set.`);
}
}
}
SingleSlider.OSUINoUiSliderSingle = OSUINoUiSliderSingle;
})(SingleSlider = NoUISlider.SingleSlider || (NoUISlider.SingleSlider = {}));
})(NoUISlider = RangeSlider.NoUISlider || (RangeSlider.NoUISlider = {}));
})(RangeSlider = OSUI.RangeSlider || (OSUI.RangeSlider = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var RangeSlider;
(function (RangeSlider) {
var NoUISlider;
(function (NoUISlider) {
var SliderSingle;
(function (SliderSingle) {
class NoUiSliderSingleConfig extends Providers.OSUI.RangeSlider.NoUiSlider.AbstractNoUiSliderConfig {
constructor(config) {
super(config);
this.rangeSliderMode = OSFramework.OSUI.Patterns.RangeSlider.Enum.Mode.Single;
}
getProviderConfig() {
let singleSliderOptions = {
handleAttributes: [{ 'aria-label': RangeSlider.NoUiSlider.Enum.NoUISliderLabels.Handle }],
start: [this.StartingValueFrom],
connect: RangeSlider.NoUiSlider.Enum.NoUiSliderConnectOptions.Lower,
};
return this.mergeConfigs(super.getProviderConfig(), singleSliderOptions, this.providerExtendedOptions);
}
}
SliderSingle.NoUiSliderSingleConfig = NoUiSliderSingleConfig;
})(SliderSingle = NoUISlider.SliderSingle || (NoUISlider.SliderSingle = {}));
})(NoUISlider = RangeSlider.NoUISlider || (RangeSlider.NoUISlider = {}));
})(RangeSlider = OSUI.RangeSlider || (OSUI.RangeSlider = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var SharedProviderResources;
(function (SharedProviderResources) {
var Flatpickr;
(function (Flatpickr) {
var Enum;
(function (Enum) {
let CssClasses;
(function (CssClasses) {
CssClasses["CalendarContainer"] = "flatpickr-calendar";
})(CssClasses = Enum.CssClasses || (Enum.CssClasses = {}));
let ProviderInfo;
(function (ProviderInfo) {
ProviderInfo["Name"] = "Flatpickr";
ProviderInfo["Version"] = "4.6.13";
})(ProviderInfo = Enum.ProviderInfo || (Enum.ProviderInfo = {}));
})(Enum = Flatpickr.Enum || (Flatpickr.Enum = {}));
})(Flatpickr = SharedProviderResources.Flatpickr || (SharedProviderResources.Flatpickr = {}));
})(SharedProviderResources = OSUI.SharedProviderResources || (OSUI.SharedProviderResources = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var SharedProviderResources;
(function (SharedProviderResources) {
var Flatpickr;
(function (Flatpickr) {
class UpdatePositionOnScroll {
constructor(picker) {
this._picker = picker;
this._isTimePicker = this._picker instanceof OSUI.TimePicker.Flatpickr.OSUIFlatpickrTime;
this._parentSidebar = picker.selfElement.closest(`${OSFramework.OSUI.Constants.Dot}${OSFramework.OSUI.Patterns.Sidebar.Enum.CssClass.Content}`);
this._setCallbacks();
this._setUpEvents();
}
_onScreenScroll() {
if (this._picker.isBuilt) {
if (this._picker.provider.isOpen && OSFramework.OSUI.Helper.DeviceInfo.IsPhone) {
if (this._isTimePicker ||
document.activeElement.closest(`${OSFramework.OSUI.Constants.Dot}${Flatpickr.Enum.CssClasses.CalendarContainer}`) === this._picker.provider.calendarContainer) {
this._picker.provider._positionCalendar();
}
else {
this._picker.provider.close();
}
}
if (OSFramework.OSUI.Helper.DeviceInfo.IsPhone === false) {
if (this._picker.provider.isOpen) {
this._picker.provider._positionCalendar();
this._requestAnimationOnBodyScroll = requestAnimationFrame(this._onScrollEvent);
}
else if (this._requestAnimationOnBodyScroll !== undefined) {
cancelAnimationFrame(this._requestAnimationOnBodyScroll);
}
}
}
}
_setCallbacks() {
this._onScrollEvent = this._onScreenScroll.bind(this);
}
_setUpEvents() {
OSFramework.OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.addHandler(OSFramework.OSUI.Event.DOMEvents.Listeners.Type.ScreenOnScroll, this._onScrollEvent);
if (this._parentSidebar) {
this._parentSidebar.addEventListener(OSFramework.OSUI.GlobalEnum.HTMLEvent.Scroll, this._onScrollEvent);
}
}
_unsetCallbacks() {
this._onScrollEvent = undefined;
}
_unsetEvents() {
OSFramework.OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.removeHandler(OSFramework.OSUI.Event.DOMEvents.Listeners.Type.ScreenOnScroll, this._onScrollEvent);
}
dispose() {
this._unsetEvents();
this._unsetCallbacks();
this._onScrollEvent = undefined;
this._requestAnimationOnBodyScroll = undefined;
}
}
Flatpickr.UpdatePositionOnScroll = UpdatePositionOnScroll;
})(Flatpickr = SharedProviderResources.Flatpickr || (SharedProviderResources.Flatpickr = {}));
})(SharedProviderResources = OSUI.SharedProviderResources || (OSUI.SharedProviderResources = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var SharedProviderResources;
(function (SharedProviderResources) {
var Flatpickr;
(function (Flatpickr) {
class UpdateZindex {
constructor(picker) {
this._patternExceptions = [
{ name: 'BottomSheet', class: { get: 'osui-bottom-sheet', set: 'inside-bottom-sheet' } },
{ name: 'Notification', class: { get: 'osui-notification', set: 'inside-notification' } },
{ name: 'Popup', class: { get: 'popup-backdrop', set: 'inside-popup' } },
{ name: 'Sidebar', class: { get: 'osui-sidebar', set: 'inside-sidebar' } },
];
this._picker = picker;
this._updateZindex();
}
_updateZindex() {
for (const pattern of this._patternExceptions) {
if (this._picker.selfElement.closest(OSFramework.OSUI.Constants.Dot + pattern.class.get)) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(this._picker.selfElement, pattern.class.set);
OSFramework.OSUI.Helper.Dom.Styles.AddClass(this._picker.provider.calendarContainer, pattern.class.set);
break;
}
}
}
}
Flatpickr.UpdateZindex = UpdateZindex;
})(Flatpickr = SharedProviderResources.Flatpickr || (SharedProviderResources.Flatpickr = {}));
})(SharedProviderResources = OSUI.SharedProviderResources || (OSUI.SharedProviderResources = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var SharedProviderResources;
(function (SharedProviderResources) {
var Flatpickr;
(function (Flatpickr) {
function NormalizeFlatpickrConfigs(flatpickrConfigs) {
const _htmlElementsProps = ['positionElement', 'appendTo'];
return OutSystems.OSUI.Utils.AbstractNormalizeProviderConfigs(flatpickrConfigs, _htmlElementsProps);
}
Flatpickr.NormalizeFlatpickrConfigs = NormalizeFlatpickrConfigs;
})(Flatpickr = SharedProviderResources.Flatpickr || (SharedProviderResources.Flatpickr = {}));
})(SharedProviderResources = OSUI.SharedProviderResources || (OSUI.SharedProviderResources = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var TimePicker;
(function (TimePicker) {
var Flatpickr;
(function (Flatpickr) {
var Enum;
(function (Enum) {
let Properties;
(function (Properties) {
Properties["InitialTime"] = "InitialTime";
})(Properties = Enum.Properties || (Enum.Properties = {}));
let InputFormats;
(function (InputFormats) {
InputFormats["Format12h"] = "h:i K";
InputFormats["Format24h"] = "H:i";
})(InputFormats = Enum.InputFormats || (Enum.InputFormats = {}));
})(Enum = Flatpickr.Enum || (Flatpickr.Enum = {}));
})(Flatpickr = TimePicker.Flatpickr || (TimePicker.Flatpickr = {}));
})(TimePicker = OSUI.TimePicker || (OSUI.TimePicker = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var TimePicker;
(function (TimePicker) {
var Flatpickr;
(function (Flatpickr) {
Flatpickr.ErrorCodes = {
FailSetLocale: 'OSUI-PRO-02001',
};
})(Flatpickr = TimePicker.Flatpickr || (TimePicker.Flatpickr = {}));
})(TimePicker = OSUI.TimePicker || (OSUI.TimePicker = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var TimePicker;
(function (TimePicker) {
var Flatpickr;
(function (Flatpickr) {
class OSUIFlatpickrTime extends OSFramework.OSUI.Patterns.TimePicker.AbstractTimePicker {
constructor(uniqueId, configs) {
super(uniqueId, new Flatpickr.FlatpickrTimeConfig(configs));
this.configs.OnChangeEventCallback = this.onTimeSelectedEvent.bind(this);
this.configs.OnCloseEventCallback = this.onClose.bind(this);
this.configs.OnOpenEventCallback = this.onOpen.bind(this);
}
_getBodyOnClickGlobalEvent() {
this._bodyOnClickGlobalEvent =
OSFramework.OSUI.Event.DOMEvents.Listeners.GlobalListenerManager.Instance.events.get(OSFramework.OSUI.Event.DOMEvents.Listeners.Type.BodyOnClick);
}
_setAttributes() {
this.flatpickrInputElem = this.timePickerPlatformInputElem.nextSibling;
OSFramework.OSUI.Helper.Dom.Attribute.Set(this.flatpickrInputElem, OSFramework.OSUI.GlobalEnum.HTMLAttributes.DataInput, OSFramework.OSUI.Constants.EmptyString);
if (this.flatpickrInputElem.disabled) {
OSFramework.OSUI.Helper.Dom.Attribute.Remove(this.flatpickrInputElem, OSFramework.OSUI.GlobalEnum.HTMLAttributes.Disabled);
}
}
_setCalendarCssClasses() {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(this.provider.calendarContainer, OSFramework.OSUI.Patterns.TimePicker.Enum.CssClass.Dropdown);
if (OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(this.flatpickrInputElem, OSFramework.OSUI.GlobalEnum.InputClassTypes.InputLarge)) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(this.provider.calendarContainer, OSFramework.OSUI.Patterns.Dropdown.Enum.CssClass.DropdownLarge);
}
else if (OSFramework.OSUI.Helper.Dom.Styles.ContainsClass(this.flatpickrInputElem, OSFramework.OSUI.GlobalEnum.InputClassTypes.InputSmall)) {
OSFramework.OSUI.Helper.Dom.Styles.AddClass(this.provider.calendarContainer, OSFramework.OSUI.Patterns.Dropdown.Enum.CssClass.DropdownSmall);
}
if (this.configs.ExtendedClass !== '') {
OSFramework.OSUI.Helper.Dom.Styles.ExtendedClass(this.provider.calendarContainer, '', this.configs.ExtendedClass);
}
}
_updateA11yProperties() {
OSFramework.OSUI.Helper.Dom.Attribute.Set(this.flatpickrInputElem, OSFramework.OSUI.Constants.A11YAttributes.TabIndex, this._isPlatformInputDisabled
? OSFramework.OSUI.Constants.A11YAttributes.States.TabIndexHidden
: OSFramework.OSUI.Constants.A11YAttributes.States.TabIndexShow);
OSFramework.OSUI.Helper.Dom.Attribute.Set(this.flatpickrInputElem, OSFramework.OSUI.Constants.A11YAttributes.Aria.Hidden, this._isPlatformInputDisabled.toString());
}
createProviderInstance() {
if (this.timePickerPlatformInputElem && this._flatpickrOpts.defaultDate === undefined) {
this.timePickerPlatformInputElem.value = OSFramework.OSUI.Constants.EmptyString;
}
this.provider = window.flatpickr(this.timePickerPlatformInputElem, this._flatpickrOpts);
this._setAttributes();
if (this.provider.calendarContainer !== undefined) {
this._setCalendarCssClasses();
this._bodyScrollCommonBehaviour = new OSUI.SharedProviderResources.Flatpickr.UpdatePositionOnScroll(this);
this._zindexCommonBehavior = new OSUI.SharedProviderResources.Flatpickr.UpdateZindex(this);
if (this.configs.InitialTime !== undefined) {
OSFramework.OSUI.Helper.Dom.SetInputValue(this.timePickerPlatformInputElem, this.configs.InitialTime);
}
}
this.updatePlatformInputAttrs();
this.setA11YProperties();
this.updateProviderEvents({
name: OSUI.SharedProviderResources.Flatpickr.Enum.ProviderInfo.Name,
version: OSUI.SharedProviderResources.Flatpickr.Enum.ProviderInfo.Version,
events: this.provider.config,
});
this.triggerPlatformInitializedEventCallback();
}
onClose() {
if (this._bodyOnClickGlobalEvent !== undefined) {
this._bodyOnClickGlobalEvent.enableBodyClickEvent();
}
}
onOpen() {
if (this._bodyOnClickGlobalEvent !== undefined) {
this._bodyOnClickGlobalEvent.disableBodyClickEvent();
}
}
onTimeSelectedEvent(selectedTime) {
const _selectedTime = selectedTime.length > 0 ? OSFramework.OSUI.Helper.Dates.GetTimeFromDate(selectedTime[0]) : '';
OSFramework.OSUI.Helper.Dom.SetInputValue(this.timePickerPlatformInputElem, _selectedTime);
this.triggerPlatformEventCallback(this.onChangeCallbackEvent, _selectedTime);
}
prepareConfigs() {
this._flatpickrOpts = this.configs.getProviderConfig();
this.createProviderInstance();
}
setA11YProperties() {
if (this.provider.calendarContainer !== undefined) {
OSFramework.OSUI.Helper.Dom.Attribute.Set(this.timePickerPlatformInputElem, OSFramework.OSUI.Constants.A11YAttributes.TabIndex, OSFramework.OSUI.Constants.A11YAttributes.States.TabIndexHidden);
OSFramework.OSUI.Helper.Dom.Attribute.Set(this.timePickerPlatformInputElem, OSFramework.OSUI.Constants.A11YAttributes.Aria.Hidden, OSFramework.OSUI.Constants.A11YAttributes.States.True);
this._updateA11yProperties();
}
}
setCallbacks() {
console.log(OSFramework.OSUI.GlobalEnum.WarningMessages.MethodNotImplemented);
}
setHtmlElements() {
this.timePickerPlatformInputElem = this.selfElement.querySelector(OSFramework.OSUI.GlobalEnum.CSSSelectors.InputFormControl);
this._isPlatformInputDisabled = this.timePickerPlatformInputElem.disabled;
if (!this.timePickerPlatformInputElem) {
throw new Error(`The timepicker input at TimepickerId '${this.widgetId}' is missing`);
}
}
unsetCallbacks() {
this.configs.OnChangeEventCallback = undefined;
this.configs.OnCloseEventCallback = undefined;
this.configs.OnOpenEventCallback = undefined;
this.onChangeCallbackEvent = undefined;
super.unsetCallbacks();
}
unsetHtmlElements() {
this.timePickerPlatformInputElem = undefined;
}
updatePlatformInputAttrs() {
OSFramework.OSUI.Helper.Dom.Attribute.Set(this.timePickerPlatformInputElem, OSFramework.OSUI.GlobalEnum.HTMLAttributes.Type, OSFramework.OSUI.GlobalEnum.InputTypeAttr.Time);
}
build() {
super.build();
this._getBodyOnClickGlobalEvent();
this.setHtmlElements();
this.prepareConfigs();
this.finishBuild();
}
changeProperty(propertyName, propertyValue) {
const oldExtendedClass = this.configs.ExtendedClass;
super.changeProperty(propertyName, propertyValue);
if (this.isBuilt) {
switch (propertyName) {
case OSFramework.OSUI.Patterns.TimePicker.Enum.Properties.InitialTime:
case OSFramework.OSUI.Patterns.TimePicker.Enum.Properties.Is24Hours:
case OSFramework.OSUI.Patterns.TimePicker.Enum.Properties.MaxTime:
case OSFramework.OSUI.Patterns.TimePicker.Enum.Properties.MinTime:
case OSFramework.OSUI.Patterns.TimePicker.Enum.Properties.TimeFormat:
this.redraw();
break;
case OSFramework.OSUI.GlobalEnum.CommonPatternsProperties.ExtendedClass:
OSFramework.OSUI.Helper.Dom.Styles.ExtendedClass(this.provider.calendarContainer, oldExtendedClass, propertyValue);
break;
}
}
}
clear() {
const isInputDisable = this.timePickerPlatformInputElem.disabled;
if (isInputDisable === false) {
this.provider.clear();
}
}
close() {
if (this.provider.isOpen) {
this.provider.close();
}
}
dispose() {
if (this.isBuilt) {
this.unsetCallbacks();
this.unsetHtmlElements();
if (this._bodyScrollCommonBehaviour !== undefined) {
this._bodyScrollCommonBehaviour.dispose();
this._bodyScrollCommonBehaviour = undefined;
}
OSFramework.OSUI.Helper.AsyncInvocation(this.provider.destroy);
}
super.dispose();
}
onRender() {
const isInputDisable = this.timePickerPlatformInputElem.disabled;
if (this._isPlatformInputDisabled !== isInputDisable) {
this._isPlatformInputDisabled = isInputDisable;
this._updateA11yProperties();
}
}
open() {
const isInputDisable = this.timePickerPlatformInputElem.disabled;
if (this.provider.isOpen === false && isInputDisable === false) {
this.provider.open();
}
}
registerCallback(eventName, callback) {
switch (eventName) {
case OSFramework.OSUI.Patterns.TimePicker.Enum.TimePickerEvents.OnChange:
this.onChangeCallbackEvent = callback;
break;
default:
super.registerCallback(eventName, callback);
break;
}
}
setEditableInput(isEditable) {
if (this.configs.AllowInput !== isEditable) {
this.configs.AllowInput = isEditable;
this.redraw();
}
}
setLanguage(value) {
this.configs.Lang = value.toLowerCase();
if (this.provider !== undefined) {
this.redraw();
}
}
setProviderConfigs(newConfigs) {
this.configs.setExtensibilityConfigs(newConfigs);
this.redraw();
super.setProviderConfigs(newConfigs);
}
toggleNativeBehavior(isNative) {
if (this.configs.DisableMobile !== !isNative) {
this.configs.DisableMobile = !isNative;
this.redraw();
}
}
updateInitialTime(value) {
if (this.timePickerPlatformInputElem.disabled === false) {
this.configs.InitialTime = value;
this.redraw();
}
}
updatePrompt(promptMessage) {
this.flatpickrInputElem.placeholder = promptMessage;
}
}
Flatpickr.OSUIFlatpickrTime = OSUIFlatpickrTime;
})(Flatpickr = TimePicker.Flatpickr || (TimePicker.Flatpickr = {}));
})(TimePicker = OSUI.TimePicker || (OSUI.TimePicker = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var TimePicker;
(function (TimePicker) {
var Flatpickr;
(function (Flatpickr) {
class FlatpickrTimeConfig extends OSFramework.OSUI.Patterns.TimePicker.AbstractTimePickerConfig {
constructor(config) {
super(config);
this.AllowInput = false;
this.DisableMobile = false;
this._lang = OSFramework.OSUI.Helper.Language.ShortLang;
}
_checkAltFormat() {
let _altFormat;
if (this.Is24Hours) {
_altFormat = Flatpickr.Enum.InputFormats.Format24h;
}
else {
_altFormat = Flatpickr.Enum.InputFormats.Format12h;
}
return _altFormat;
}
_checkLocale() {
let _locale;
try {
_locale = window.flatpickr.l10ns[this._lang];
_locale.firstDayOfWeek = this.FirstWeekDay;
}
catch (error) {
throw new Error(`${Flatpickr.ErrorCodes.FailSetLocale}: Locale '${this._lang}' not found!`);
}
return _locale;
}
getProviderConfig() {
this._providerOptions = {
altFormat: this.TimeFormat ? this.TimeFormat : this._checkAltFormat(),
altInput: true,
allowInput: this.AllowInput,
defaultDate: OSFramework.OSUI.Helper.Times.IsNull(this.InitialTime) ? undefined : this.InitialTime,
disableMobile: this.DisableMobile,
enableTime: true,
noCalendar: true,
maxTime: OSFramework.OSUI.Helper.Times.IsNull(this.MaxTime) ? undefined : this.MaxTime,
minTime: OSFramework.OSUI.Helper.Times.IsNull(this.MinTime) ? undefined : this.MinTime,
dateFormat: Flatpickr.Enum.InputFormats.Format24h,
onChange: this.OnChangeEventCallback,
onClose: this.OnCloseEventCallback,
onOpen: this.OnOpenEventCallback,
time_24hr: this.Is24Hours,
};
if (this._providerOptions.locale === undefined) {
this._providerOptions.locale = this._checkLocale();
}
return this.mergeConfigs(this._providerOptions, undefined, this.providerExtendedOptions);
}
setExtensibilityConfigs(newConfigs) {
this.providerExtendedOptions = newConfigs;
}
get Lang() {
return this._lang;
}
set Lang(value) {
this._lang = value.substring(0, 2);
}
}
Flatpickr.FlatpickrTimeConfig = FlatpickrTimeConfig;
})(Flatpickr = TimePicker.Flatpickr || (TimePicker.Flatpickr = {}));
})(TimePicker = OSUI.TimePicker || (OSUI.TimePicker = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
var Enum;
(function (Enum) {
let ProviderInfo;
(function (ProviderInfo) {
ProviderInfo["Name"] = "FloatingUI";
ProviderInfo["Version"] = "1.6.5";
})(ProviderInfo = Enum.ProviderInfo || (Enum.ProviderInfo = {}));
})(Enum = Utils.Enum || (Utils.Enum = {}));
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
class FloatingUI extends OSFramework.OSUI.Utils.FloatingPosition.FloatingPosition {
constructor(options) {
super(options);
}
dispose() {
if (this.floatingConfigs.UpdatePosition) {
this.eventOnUpdateCallback();
}
super.dispose();
}
setFloatingPosition() {
const _middlewareArray = [];
if (this.floatingConfigs.AutoPlacement) {
if (this.floatingConfigs.AutoPlacementOptions.alignment === OSFramework.OSUI.Constants.EmptyString) {
this.floatingConfigs.AutoPlacementOptions.alignment = null;
}
if (this.floatingConfigs.AutoPlacementOptions.allowedPlacements.length <= 0) {
this.floatingConfigs.AutoPlacementOptions.allowedPlacements.push(OSFramework.OSUI.GlobalEnum.FloatingPosition.BottomStart);
}
_middlewareArray.push(window.FloatingUIDOM.autoPlacement(this.floatingConfigs.AutoPlacementOptions));
_middlewareArray.push(window.FloatingUIDOM.shift());
}
if (this.floatingConfigs.Position !== OSFramework.OSUI.GlobalEnum.FloatingPosition.Center) {
const defaultOffsetValue = this.getOffsetValue();
const finalOffsetValue = this.floatingConfigs.ArrowElem
? Math.sqrt(defaultOffsetValue * this.floatingConfigs.ArrowElem.offsetWidth ** 2) / 2
: defaultOffsetValue;
_middlewareArray.push(window.FloatingUIDOM.offset(finalOffsetValue));
}
if (this.floatingConfigs.ArrowElem) {
_middlewareArray.push(window.FloatingUIDOM.arrow({
element: this.floatingConfigs.ArrowElem,
}));
_middlewareArray.push(window.FloatingUIDOM.flip());
}
const _eventOnUpdatePosition = () => {
window.FloatingUIDOM.computePosition(this.floatingConfigs.AnchorElem, this.floatingConfigs.FloatingElem, {
placement: this.floatingConfigs.Position,
middleware: _middlewareArray,
}).then(({ x, y, middlewareData, placement }) => {
OSFramework.OSUI.Helper.Dom.Styles.SetStyleAttribute(this.floatingConfigs.FloatingElem, OSFramework.OSUI.Utils.FloatingPosition.Enum.CssCustomProperties.YPosition, y + OSFramework.OSUI.GlobalEnum.Units.Pixel);
OSFramework.OSUI.Helper.Dom.Styles.SetStyleAttribute(this.floatingConfigs.FloatingElem, OSFramework.OSUI.Utils.FloatingPosition.Enum.CssCustomProperties.XPosition, x + OSFramework.OSUI.GlobalEnum.Units.Pixel);
if (this._currentPlacement !== undefined && this._currentPlacement !== placement) {
this.floatingConfigs.FloatingElem.classList.remove(this._currentPlacement);
}
this.floatingConfigs.FloatingElem.classList.add(placement);
this._currentPlacement = placement;
if (middlewareData.arrow) {
const side = placement.split('-')[0];
const staticSide = {
top: OSFramework.OSUI.GlobalEnum.FloatingPosition.Bottom,
right: OSFramework.OSUI.GlobalEnum.FloatingPosition.Left,
bottom: OSFramework.OSUI.GlobalEnum.FloatingPosition.Top,
left: OSFramework.OSUI.GlobalEnum.FloatingPosition.Right,
}[side];
const { x, y } = middlewareData.arrow;
Object.assign(this.floatingConfigs.ArrowElem.style, {
left: x !== undefined
? `${x}${OSFramework.OSUI.GlobalEnum.Units.Pixel}`
: OSFramework.OSUI.Constants.EmptyString,
top: y !== undefined
? `${y}${OSFramework.OSUI.GlobalEnum.Units.Pixel}`
: OSFramework.OSUI.Constants.EmptyString,
right: OSFramework.OSUI.Constants.EmptyString,
bottom: OSFramework.OSUI.Constants.EmptyString,
[staticSide]: `${-this.floatingConfigs.ArrowElem.offsetWidth / 2}${OSFramework.OSUI.GlobalEnum.Units.Pixel}`,
});
}
});
};
_eventOnUpdatePosition();
if (this.floatingConfigs.UpdatePosition) {
this.eventOnUpdateCallback = window.FloatingUIDOM.autoUpdate(this.floatingConfigs.AnchorElem, this.floatingConfigs.FloatingElem, _eventOnUpdatePosition.bind(this));
}
}
unsetFloatingPosition() {
this.eventOnUpdateCallback();
OSFramework.OSUI.Helper.ApplySetTimeOut(() => {
OSFramework.OSUI.Helper.Dom.Styles.SetStyleAttribute(this.floatingConfigs.FloatingElem, OSFramework.OSUI.Utils.FloatingPosition.Enum.CssCustomProperties.YPosition, 0);
OSFramework.OSUI.Helper.Dom.Styles.SetStyleAttribute(this.floatingConfigs.FloatingElem, OSFramework.OSUI.Utils.FloatingPosition.Enum.CssCustomProperties.XPosition, 0);
}, 50);
}
}
Utils.FloatingUI = FloatingUI;
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));
var Providers;
(function (Providers) {
var OSUI;
(function (OSUI) {
var Utils;
(function (Utils) {
class FloatingUIConfig extends OSFramework.OSUI.Utils.FloatingPosition.FloatingPositionConfig {
}
Utils.FloatingUIConfig = FloatingUIConfig;
})(Utils = OSUI.Utils || (OSUI.Utils = {}));
})(OSUI = Providers.OSUI || (Providers.OSUI = {}));
})(Providers || (Providers = {}));