uawdijnntqw1x1x1
IP : 216.73.216.26
Hostname : server.wtmmart.in
Kernel : Linux server.wtmmart.in 4.18.0-553.45.1.el8_10.x86_64 #1 SMP Wed Mar 19 09:44:46 EDT 2025 x86_64
Disable Function : exec,passthru,shell_exec,system
OS : Linux
PATH:
/
home2
/
wtmwscom
/
public_html
/
..
/
public_html
/
post
/
scripts
/
OutSystemsUI_009.js
/
/
define("OutSystemsUI.Content.AccordionItem.mvc$model", ["OutSystems/ClientRuntime/Main", "OutSystemsUI.model", "OutSystemsUI.controller", "OutSystemsUI.controller$IsWebApp"], function (OutSystems, OutSystemsUIModel, OutSystemsUIController) { var OS = OutSystems.Internal; var VariablesRecord = (function (_super) { __extends(VariablesRecord, _super); function VariablesRecord(defaults) { _super.apply(this, arguments); } VariablesRecord.attributesToDeclare = function () { return [ this.attr("IsMultipleItems", "isMultipleItemsVar", "IsMultipleItems", true, false, OS.Types.Boolean, function () { return false; }, false), this.attr("AccordionObj", "accordionObjVar", "AccordionObj", true, false, OS.Types.Object, function () { return null; }, false), this.attr("HasWrapper", "hasWrapperVar", "HasWrapper", true, false, OS.Types.Boolean, function () { return false; }, false), this.attr("IsWebApp", "isWebAppVar", "IsWebApp", true, false, OS.Types.Boolean, function () { return false; }, false), this.attr("IsExpanded", "isExpandedIn", "IsExpanded", true, false, OS.Types.Boolean, function () { return false; }, false), this.attr("_isExpandedInDataFetchStatus", "_isExpandedInDataFetchStatus", "_isExpandedInDataFetchStatus", true, false, OS.Types.Integer, function () { return /*Fetched*/ 1; }, false), this.attr("UsePadding", "usePaddingIn", "UsePadding", true, false, OS.Types.Boolean, function () { return true; }, false), this.attr("_usePaddingInDataFetchStatus", "_usePaddingInDataFetchStatus", "_usePaddingInDataFetchStatus", true, false, OS.Types.Integer, function () { return /*Fetched*/ 1; }, false), this.attr("IsDisabled", "isDisabledIn", "IsDisabled", true, false, OS.Types.Boolean, function () { return false; }, false), this.attr("_isDisabledInDataFetchStatus", "_isDisabledInDataFetchStatus", "_isDisabledInDataFetchStatus", true, false, OS.Types.Integer, function () { return /*Fetched*/ 1; }, false), this.attr("ExtendedClass", "extendedClassIn", "ExtendedClass", true, false, OS.Types.Text, function () { return ""; }, false), this.attr("_extendedClassInDataFetchStatus", "_extendedClassInDataFetchStatus", "_extendedClassInDataFetchStatus", true, false, OS.Types.Integer, function () { return /*Fetched*/ 1; }, false) ].concat(_super.attributesToDeclare.call(this)); }; VariablesRecord.init(); return VariablesRecord; })(OS.DataTypes.GenericRecord); var WidgetsRecord = (function (_super) { __extends(WidgetsRecord, _super); function WidgetsRecord() { _super.apply(this, arguments); } WidgetsRecord.getWidgetsType = function () { return {}; }; return WidgetsRecord; })(OS.Model.BaseWidgetRecordMap); var Model = (function (_super) { __extends(Model, _super); function Model() { _super.apply(this, arguments); } Model.getVariablesRecordConstructor = function () { return VariablesRecord; }; Model.getWidgetsRecordConstructor = function () { return WidgetsRecord; }; Object.defineProperty(Model, "hasValidationWidgets", { enumerable: true, configurable: true, get: function () { return false; } }); Model.prototype.setInputs = function (inputs) { if("IsExpanded" in inputs) { this.variables.isExpandedIn = inputs.IsExpanded; if("_isExpandedInDataFetchStatus" in inputs) { this.variables._isExpandedInDataFetchStatus = inputs._isExpandedInDataFetchStatus; } } if("UsePadding" in inputs) { this.variables.usePaddingIn = inputs.UsePadding; if("_usePaddingInDataFetchStatus" in inputs) { this.variables._usePaddingInDataFetchStatus = inputs._usePaddingInDataFetchStatus; } } if("IsDisabled" in inputs) { this.variables.isDisabledIn = inputs.IsDisabled; if("_isDisabledInDataFetchStatus" in inputs) { this.variables._isDisabledInDataFetchStatus = inputs._isDisabledInDataFetchStatus; } } if("ExtendedClass" in inputs) { this.variables.extendedClassIn = inputs.ExtendedClass; if("_extendedClassInDataFetchStatus" in inputs) { this.variables._extendedClassInDataFetchStatus = inputs._extendedClassInDataFetchStatus; } } }; return Model; })(OS.Model.BaseViewModel); return new OS.Model.ModelFactory(Model); }); define("OutSystemsUI.Content.AccordionItem.mvc$view", ["OutSystems/ClientRuntime/Main", "OutSystemsUI.model", "OutSystemsUI.controller", "react", "OutSystems/ReactView/Main", "OutSystemsUI.Content.AccordionItem.mvc$model", "OutSystemsUI.Content.AccordionItem.mvc$controller", "OutSystems/ReactWidgets/Main", "OutSystemsUI.controller$IsWebApp"], function (OutSystems, OutSystemsUIModel, OutSystemsUIController, React, OSView, OutSystemsUI_Content_AccordionItem_mvc_model, OutSystemsUI_Content_AccordionItem_mvc_controller, OSWidgets) { var OS = OutSystems.Internal; var PlaceholderContent = OSView.Widget.PlaceholderContent; var IteratorPlaceholderContent = OSView.Widget.IteratorPlaceholderContent; var View = (function (_super) { __extends(View,_super); function View() { try { this.initialize.apply(this, arguments); } catch (error) { View.handleError(error); throw error; } } View.prototype.initialize = function() { _super.apply(this, arguments); }; View.displayName = "Content.AccordionItem"; View.getCssDependencies = function() { return ["css/OutSystemsReactWidgets.css"]; }; View.getJsDependencies = function() { return []; }; View.getBlocks = function() { return []; }; Object.defineProperty(View.prototype, "modelFactory", { get: function () { return OutSystemsUI_Content_AccordionItem_mvc_model; }, enumerable: true, configurable: true }); Object.defineProperty(View.prototype, "controllerFactory", { get: function () { return OutSystemsUI_Content_AccordionItem_mvc_controller; }, enumerable: true, configurable: true }); Object.defineProperty(View.prototype, "title", { get: function () { return ""; }, enumerable: true, configurable: true }); View.prototype.internalRender = function() { var model = this.model; var controller = this.controller; var idService = this.idService; var validationService = controller.validationService; var widgetsRecordProvider = this.widgetsRecordProvider; var callContext = controller.callContext(); var $if = View.ifWidget; var asPrimitiveValue = View.asPrimitiveValue; var _this = this; return React.createElement("div", this.getRootNodeProperties(), React.createElement(OSWidgets.Container, { align: /*Default*/ 0, animate: false, extendedProperties: { "data-expanded": (model.variables.isExpandedIn ? "True" : "False") }, style: model.getCachedValue(idService.getId("SectionItem.Style"), function () { return (((("section-expandable " + ((model.variables.isExpandedIn) ? (" open is--open") : ("is--closed"))) + ((model.variables.isDisabledIn) ? (" is--disabled") : (""))) + " ") + model.variables.extendedClassIn); }, function () { return model.variables.isExpandedIn; }, function () { return model.variables.isDisabledIn; }, function () { return model.variables.extendedClassIn; }), visible: true, _idProps: { service: idService, name: "SectionItem" }, _widgetRecordProvider: widgetsRecordProvider, style_dataFetchStatus: OS.Model.calculateDataFetchStatus(model.variables._isExpandedInDataFetchStatus, model.variables._isDisabledInDataFetchStatus, model.variables._extendedClassInDataFetchStatus) }, React.createElement(OSWidgets.Container, { align: /*Default*/ 0, animate: false, extendedEvents: { onClick: function () { return Promise.resolve().then(function () { var eventHandlerContext = callContext.clone(); controller.onClick$Action(idService.getId("SectionItem"), controller.callContext(eventHandlerContext)); }); ; } }, style: "section-expandable-title", visible: true, _idProps: { service: idService, uuid: "1" }, _widgetRecordProvider: widgetsRecordProvider }, React.createElement(OSWidgets.Placeholder, { align: /*Default*/ 0, content: _this.props.placeholders.title, style: model.getCachedValue(idService.getId("Title.Style"), function () { return ("dividers full-width" + ((model.variables.isWebAppVar) ? ("") : (" text-ellipsis"))); }, function () { return model.variables.isWebAppVar; }), _idProps: { service: idService, name: "Title" }, _widgetRecordProvider: widgetsRecordProvider }), React.createElement(OSWidgets.Container, { align: /*Default*/ 0, animate: false, style: "section-expandable-icon", visible: true, _idProps: { service: idService, uuid: "3" }, _widgetRecordProvider: widgetsRecordProvider })), React.createElement(OSWidgets.Container, { align: /*Default*/ 0, animate: false, style: model.getCachedValue(idService.getId("ContentWrapper.Style"), function () { return ("section-expandable-content is--collapsed" + ((model.variables.usePaddingIn) ? ("") : (" no-padding"))); }, function () { return model.variables.usePaddingIn; }), visible: true, _idProps: { service: idService, name: "ContentWrapper" }, _widgetRecordProvider: widgetsRecordProvider, style_dataFetchStatus: OS.Model.calculateDataFetchStatus(model.variables._usePaddingInDataFetchStatus) }, React.createElement(OSWidgets.Placeholder, { align: /*Default*/ 0, content: _this.props.placeholders.content, _idProps: { service: idService, name: "Content" }, _widgetRecordProvider: widgetsRecordProvider })))); }; return View; })(OSView.BaseView.BaseWebBlock); return View; }); define("OutSystemsUI.Content.AccordionItem.mvc$controller", ["OutSystems/ClientRuntime/Main", "OutSystemsUI.model", "OutSystemsUI.controller", "OutSystemsUI.languageResources", "OutSystemsUI.Content.AccordionItem.mvc$controller.OnClick.CloseAllJS", "OutSystemsUI.Content.AccordionItem.mvc$controller.OnClick.UpdateAttributeJS", "OutSystemsUI.Content.AccordionItem.mvc$controller.Collapse.CollapseJS", "OutSystemsUI.Content.AccordionItem.mvc$controller.OnReady.InitJS", "OutSystemsUI.Content.AccordionItem.mvc$controller.OnReady.SetGlobalActionsJS", "OutSystemsUI.Content.AccordionItem.mvc$controller.Expand.ExpandJS", "OutSystemsUI.controller$IsWebApp"], function (OutSystems, OutSystemsUIModel, OutSystemsUIController, OutSystemsUILanguageResources, OutSystemsUI_Content_AccordionItem_mvc_controller_OnClick_CloseAllJS, OutSystemsUI_Content_AccordionItem_mvc_controller_OnClick_UpdateAttributeJS, OutSystemsUI_Content_AccordionItem_mvc_controller_Collapse_CollapseJS, OutSystemsUI_Content_AccordionItem_mvc_controller_OnReady_InitJS, OutSystemsUI_Content_AccordionItem_mvc_controller_OnReady_SetGlobalActionsJS, OutSystemsUI_Content_AccordionItem_mvc_controller_Expand_ExpandJS) { var OS = OutSystems.Internal; var Controller = (function (_super) { __extends(Controller, _super); function Controller() { _super.apply(this, arguments); var controller = this.controller; this.clientActionProxies = { collapse$Action: function () { return controller.executeActionInsideJSNode(controller._collapse$Action.bind(controller), controller.callContext(), function (actionResults) { return {}; }); }, expand$Action: function () { return controller.executeActionInsideJSNode(controller._expand$Action.bind(controller), controller.callContext(), function (actionResults) { return {}; }); } }; this.dataFetchDependenciesOriginal = {}; this.dataFetchDependentsGraph = {}; this.useImprovedDataFetch = false; this.hasDependenciesBetweenSources = false; this.shouldSendClientVarsToDataSources = false; } // Server Actions // Aggregates and Data Actions Controller.prototype.dataFetchActionNames = []; // Client Actions Controller.prototype._onClick$Action = function (elemIdIn, callContext) { var model = this.model; var controller = this.controller; var idService = this.idService; controller.ensureControllerAlive("OnClick"); callContext = controller.callContext(callContext); var vars = new OS.DataTypes.VariableHolder(new (controller.constructor.getVariableGroupType("OutSystemsUI.Content.AccordionItem.OnClick$vars"))()); vars.value.elemIdInLocal = elemIdIn; return OS.Flow.executeAsyncFlow(function () { return OS.Flow.executeSequence(function () { if((!(model.variables.isDisabledIn))) { if((model.variables.hasWrapperVar)) { if((!(model.variables.isMultipleItemsVar))) { controller.safeExecuteJSNode(OutSystemsUI_Content_AccordionItem_mvc_controller_OnClick_CloseAllJS, "CloseAll", "OnClick", { WidgetId: OS.DataConversion.JSNodeParamConverter.to(vars.value.elemIdInLocal, OS.Types.Text), AccordionObj: OS.DataConversion.JSNodeParamConverter.to(model.variables.accordionObjVar, OS.Types.Object) }, function ($parameters) { }, {}, {}); } } if((model.variables.isExpandedIn)) { // Execute Action: Collapse controller._collapse$Action(callContext); } else { // Execute Action: Expand controller._expand$Action(callContext); } // Trigger Event: OnToggle return controller.onToggle$Action(model.variables.isExpandedIn, callContext).then(function () { controller.safeExecuteJSNode(OutSystemsUI_Content_AccordionItem_mvc_controller_OnClick_UpdateAttributeJS, "UpdateAttribute", "OnClick", { IsExpanded: OS.DataConversion.JSNodeParamConverter.to(model.variables.isExpandedIn, OS.Types.Boolean), WidgetId: OS.DataConversion.JSNodeParamConverter.to(vars.value.elemIdInLocal, OS.Types.Text) }, function ($parameters) { }, {}, {}); }); } }); }); }; Controller.registerVariableGroupType("OutSystemsUI.Content.AccordionItem.OnClick$vars", [{ name: "ElemId", attrName: "elemIdInLocal", mandatory: true, dataType: OS.Types.Text, defaultValue: function () { return ""; } }]); Controller.prototype._collapse$Action = function (callContext) { var model = this.model; var controller = this.controller; var idService = this.idService; controller.ensureControllerAlive("Collapse"); callContext = controller.callContext(callContext); controller.safeExecuteJSNode(OutSystemsUI_Content_AccordionItem_mvc_controller_Collapse_CollapseJS, "Collapse", "Collapse", { WidgetId: OS.DataConversion.JSNodeParamConverter.to(idService.getId("SectionItem"), OS.Types.Text) }, function ($parameters) { }, {}, {}); // IsExpanded = False model.variables.isExpandedIn = false; }; Controller.prototype._onReady$Action = function (idIn, callContext) { var model = this.model; var controller = this.controller; var idService = this.idService; controller.ensureControllerAlive("OnReady"); callContext = controller.callContext(callContext); var vars = new OS.DataTypes.VariableHolder(new (controller.constructor.getVariableGroupType("OutSystemsUI.Content.AccordionItem.OnReady$vars"))()); vars.value.idInLocal = idIn; var initJSResult = new OS.DataTypes.VariableHolder(); initJSResult.value = controller.safeExecuteJSNode(OutSystemsUI_Content_AccordionItem_mvc_controller_OnReady_InitJS, "Init", "OnReady", { Id: OS.DataConversion.JSNodeParamConverter.to(vars.value.idInLocal, OS.Types.Text), ContentId: OS.DataConversion.JSNodeParamConverter.to(idService.getId("ContentWrapper"), OS.Types.Text), IsExpanded: OS.DataConversion.JSNodeParamConverter.to(model.variables.isExpandedIn, OS.Types.Boolean), IsMultipleItems: OS.DataConversion.JSNodeParamConverter.to(false, OS.Types.Boolean), AccordionObj: OS.DataConversion.JSNodeParamConverter.to(null, OS.Types.Object), HasWrapper: OS.DataConversion.JSNodeParamConverter.to(false, OS.Types.Boolean) }, function ($parameters) { var jsNodeResult = new (controller.constructor.getVariableGroupType("OutSystemsUI.Content.AccordionItem.OnReady$initJSResult"))(); jsNodeResult.isMultipleItemsOut = OS.DataConversion.JSNodeParamConverter.from($parameters.IsMultipleItems, OS.Types.Boolean); jsNodeResult.accordionObjOut = OS.DataConversion.JSNodeParamConverter.from($parameters.AccordionObj, OS.Types.Object); jsNodeResult.hasWrapperOut = OS.DataConversion.JSNodeParamConverter.from($parameters.HasWrapper, OS.Types.Boolean); return jsNodeResult; }, {}, {}); // IsMultipleItems = Init.IsMultipleItems model.variables.isMultipleItemsVar = initJSResult.value.isMultipleItemsOut; // AccordionObj = Init.AccordionObj model.variables.accordionObjVar = initJSResult.value.accordionObjOut; // HasWrapper = Init.HasWrapper model.variables.hasWrapperVar = initJSResult.value.hasWrapperOut; // IsWebApp = IsWebApp() model.variables.isWebAppVar = OutSystemsUIController.default.isWebApp$Action(callContext).isWebAppOut; controller.safeExecuteJSNode(OutSystemsUI_Content_AccordionItem_mvc_controller_OnReady_SetGlobalActionsJS, "SetGlobalActions", "OnReady", { WidgetId: OS.DataConversion.JSNodeParamConverter.to(idService.getId("SectionItem"), OS.Types.Text) }, function ($parameters) { }, { Collapse: controller.clientActionProxies.collapse$Action, Expand: controller.clientActionProxies.expand$Action }, {}); }; Controller.registerVariableGroupType("OutSystemsUI.Content.AccordionItem.OnReady$vars", [{ name: "Id", attrName: "idInLocal", mandatory: true, dataType: OS.Types.Text, defaultValue: function () { return ""; } }]); Controller.registerVariableGroupType("OutSystemsUI.Content.AccordionItem.OnReady$initJSResult", [{ name: "IsMultipleItems", attrName: "isMultipleItemsOut", mandatory: true, dataType: OS.Types.Boolean, defaultValue: function () { return false; } }, { name: "AccordionObj", attrName: "accordionObjOut", mandatory: true, dataType: OS.Types.Object, defaultValue: function () { return null; } }, { name: "HasWrapper", attrName: "hasWrapperOut", mandatory: true, dataType: OS.Types.Boolean, defaultValue: function () { return false; } }]); Controller.prototype._expand$Action = function (callContext) { var model = this.model; var controller = this.controller; var idService = this.idService; controller.ensureControllerAlive("Expand"); callContext = controller.callContext(callContext); controller.safeExecuteJSNode(OutSystemsUI_Content_AccordionItem_mvc_controller_Expand_ExpandJS, "Expand", "Expand", { WidgetId: OS.DataConversion.JSNodeParamConverter.to(idService.getId("SectionItem"), OS.Types.Text) }, function ($parameters) { }, {}, {}); // IsExpanded = True model.variables.isExpandedIn = true; }; Controller.prototype.onClick$Action = function (elemIdIn, callContext) { var controller = this.controller; return controller.safeExecuteClientAction(controller._onClick$Action, callContext, elemIdIn); }; Controller.prototype.collapse$Action = function (callContext) { var controller = this.controller; return controller.safeExecuteClientAction(controller._collapse$Action, callContext); }; Controller.prototype.onReady$Action = function (idIn, callContext) { var controller = this.controller; return controller.safeExecuteClientAction(controller._onReady$Action, callContext, idIn); }; Controller.prototype.expand$Action = function (callContext) { var controller = this.controller; return controller.safeExecuteClientAction(controller._expand$Action, callContext); }; Controller.prototype.onToggle$Action = function () { return Promise.resolve(); }; // Event Handler Actions Controller.prototype.onInitializeEventHandler = null; Controller.prototype.onReadyEventHandler = function (callContext) { var controller = this.controller; var model = this.model; var idService = this.idService; return controller.onReady$Action(idService.getId("SectionItem"), callContext); }; Controller.prototype.onRenderEventHandler = null; Controller.prototype.onDestroyEventHandler = null; Controller.prototype.onParametersChangedEventHandler = function (callContext) { var controller = this.controller; var model = this.model; var idService = this.idService; return controller.onReady$Action(idService.getId("SectionItem"), callContext); }; Controller.prototype.handleError = function (ex) { return controller.handleError(ex); }; Controller.checkPermissions = function () { }; Controller.prototype.getDefaultTimeout = function () { return OutSystemsUIController.default.defaultTimeout; }; return Controller; })(OS.Controller.BaseViewController); return new OS.Controller.ControllerFactory(Controller, OutSystemsUILanguageResources); }); define("OutSystemsUI.Content.AccordionItem.mvc$controller.OnClick.CloseAllJS", [], function () { return function ($parameters, $actions, $roles, $public) { var accordion = $parameters.AccordionObj; var accordionItems = accordion.querySelectorAll('.section-expandable'); var thisElem = document.getElementById($parameters.WidgetId); var isClosed = function(currentAccordionItem) { if(currentAccordionItem.classList.contains('is--closed')) { return true; } return false; }; currAccordionItem = thisElem; for(var i = 0; i < accordionItems.length; i++) { var accordionItem = accordionItems[i]; if(accordionItem !== currAccordionItem && !isClosed(accordionItem)) { accordionItem.CollapseItem(); } } }; }); define("OutSystemsUI.Content.AccordionItem.mvc$controller.OnClick.UpdateAttributeJS", [], function () { return function ($parameters, $actions, $roles, $public) { var accordionItem = document.getElementById($parameters.WidgetId); accordionItem.setAttribute('data-expanded', $parameters.IsExpanded); }; }); define("OutSystemsUI.Content.AccordionItem.mvc$controller.Collapse.CollapseJS", [], function () { return function ($parameters, $actions, $roles, $public) { var currentAccordionItem = document.getElementById($parameters.WidgetId); var currentAccordionItemContent = currentAccordionItem.querySelector('.section-expandable-content'); currentAccordionItemContent.removeAttribute('style'); // Gets initial height value var expandedHeight = currentAccordionItemContent.getBoundingClientRect().height; // Toggle is--closed/is--open class from current accordion item currentAccordionItem.classList.add('is--closed'); currentAccordionItem.classList.remove('is--open'); // Removes expanded class and adds the collapsed class to obtain the collapsed height value currentAccordionItemContent.classList.remove('is--expanded'); currentAccordionItemContent.classList.add('is--collapsed'); var collapsedHeight = currentAccordionItemContent.getBoundingClientRect().height; currentAccordionItemContent.style.height = expandedHeight + 'px'; // Removes collapsed class and adds the expanded class to animate currentAccordionItemContent.classList.add('is--expanded'); currentAccordionItemContent.classList.remove('is--collapsed'); // This setTimeout (0ms) will ensure that the DOM received the height 0 before actually starts the transition var waitDomIterateTimeout = setTimeout(function() { // Adds is--animating class to current accordion item content to obtain the final height value currentAccordionItemContent.classList.add('is--animating'); // Removes is--expanded class from current accordion item content currentAccordionItemContent.classList.remove('is--expanded'); currentAccordionItemContent.style.height = collapsedHeight + 'px'; // Adds event listener to transition end currentAccordionItemContent.addEventListener('transitionend', transitionEndHandler); // Adds is--collapsed class to current accordion item content currentAccordionItemContent.classList.add('is--collapsed'); // Clear timeout clearTimeout(waitDomIterateTimeout); }, 0); var transitionEndHandler = function() { var currentElement = currentAccordionItemContent; var currentElementHeader = currentAccordionItem.querySelector('.section-expandable-title'); if(currentElement) { // Removes is--animating class currentElement.classList.remove('is--animating'); // Remove height and pointer events inline style currentElement.style.height = ''; currentElementHeader.style.pointerEvents = ''; // Verify if the currentElement has inline-styles and remove attribute if are empty if(currentElement.style.cssText.length === 0) { currentElement.removeAttribute('style'); } // Removes transitionend event listener currentElement.removeEventListener('transitionend', transitionEndHandler, false); } }; }; }); define("OutSystemsUI.Content.AccordionItem.mvc$controller.OnReady.InitJS", [], function () { return function ($parameters, $actions, $roles, $public) { var sectionItem = document.getElementById($parameters.Id); var sectionContent = document.getElementById($parameters.ContentId); var accordion; accordion = sectionItem.parentNode.parentNode; if(accordion.classList.contains('list')){ accordion = accordion.parentNode; } var multipleItemsData = accordion.getAttribute('data-multiple-items'); // Check if is inside Accordion if(accordion.classList.contains('accordion')) { $parameters.HasWrapper = true; } // Check if MultipleItems is False if(multipleItemsData === 'True') { $parameters.IsMultipleItems = true; } // Add classes if expanded set as true. Doing here, instead of using Platform If on div, to avoid conflict with FLIP animation if($parameters.IsExpanded) { sectionContent.classList.remove('is--collapsed'); sectionContent.classList.add('is--expanded'); } $parameters.AccordionObj = accordion; }; }); define("OutSystemsUI.Content.AccordionItem.mvc$controller.OnReady.SetGlobalActionsJS", [], function () { return function ($parameters, $actions, $roles, $public) { var element = document.getElementById($parameters.WidgetId); // Add actions element.CollapseItem = function() { $actions.Collapse(); }; element.ExpandItem = function() { $actions.Expand(); }; }; }); define("OutSystemsUI.Content.AccordionItem.mvc$controller.Expand.ExpandJS", [], function () { return function ($parameters, $actions, $roles, $public) { var currentAccordionItem = document.getElementById($parameters.WidgetId); var currentAccordionItemContent = currentAccordionItem.querySelector('.section-expandable-content'); var currentAccordionItemHeader = currentAccordionItem.querySelector('.section-expandable-title'); // Gets initial height value var collapsedHeight = currentAccordionItemContent.getBoundingClientRect().height; // Toggle is--closed/is--open class from current accordion item currentAccordionItem.classList.remove('is--closed'); currentAccordionItem.classList.add('is--open'); // Prevents multiple clicks on Accordion when it's animating currentAccordionItemHeader.style.pointerEvents = 'none'; // Toggle is--collapsed/is--expanded class from current accordion item currentAccordionItemContent.classList.remove('is--collapsed'); currentAccordionItemContent.classList.add('is--expanded'); currentAccordionItemContent.removeAttribute('style'); // Gets final height value var expandedHeight = currentAccordionItemContent.getBoundingClientRect().height; // Removes is--expanded class from current accordion item content to animate currentAccordionItemContent.classList.remove('is--expanded'); currentAccordionItemContent.style.height = collapsedHeight + 'px'; // This setTimeout (0ms) will ensure that the DOM received the height 0 before actually starts the transition var waitDomIterateTimeout = setTimeout(function() { // Adds is--animating class to current accordion item content to obtain the final height value currentAccordionItemContent.classList.add('is--animating'); currentAccordionItemContent.style.height = expandedHeight + 'px'; // Adds event listener to transition end currentAccordionItemContent.addEventListener('transitionend', transitionEndHandler); // Adds is--expanded class to current accordion item content currentAccordionItemContent.classList.add('is--expanded'); // Clear timeout clearTimeout(waitDomIterateTimeout); }, 0); var transitionEndHandler = function() { var currentElement = currentAccordionItemContent; var currentElementHeader = currentAccordionItemHeader; if(currentElement) { // Removes is--animating class currentElement.classList.remove('is--animating'); // Remove height and pointer events inline style currentElement.style.height = ''; currentElementHeader.style.pointerEvents = ''; // Verify if the currentElement has inline-styles and remove attribute if are empty if(currentElement.style.cssText.length === 0) { currentElement.removeAttribute('style'); } // Removes transitionend event listener currentElement.removeEventListener('transitionend', transitionEndHandler, false); } }; }; });
/home2/wtmwscom/public_html/../public_html/post/scripts/OutSystemsUI_009.js