/// <summary> /// This method executes the build process /// </summary> /// <param name="qatId">The CUI ID for this QAT</param> /// <returns>The QAT object</returns> public bool BuildQAT(string qatId) { if (InQuery) { return(false); } if (IsIdTrimmed(qatId)) { return(true); /* no error, so return true */ } QATBuildContext qbc = new QATBuildContext(); qbc.QATId = qatId; InQuery = true; DataQuery query = new DataQuery(); query.TabQuery = false; query.Id = qbc.QATId; query.QueryType = DataQueryType.Root; query.Handler = new DataReturnedEventHandler(OnReturnQAT); query.Data = qbc; DataSource.RunQuery(query); return(true); }
private QAT BuildQATInternal(object data, QATBuildContext qbc) { if (CUIUtility.IsNullOrUndefined(data)) { throw new ArgumentNullException("No QAT element was present in the data"); } QAT = new QAT(DataNodeWrapper.GetAttribute(data, "Id"), DataNodeWrapper.GetNodeAttributes(data).To <QATProperties>()); // Handle the controls in the QAT // The XML structure looks like <QAT><Controls><Control></Control><Control></Control>... JSObject controlsParent = DataNodeWrapper.GetFirstChildNodeWithName(data, DataNodeWrapper.CONTROLS); JSObject[] controls = DataNodeWrapper.GetNodeChildren(controlsParent); for (int j = 0; j < controls.Length; j++) { if (!IsNodeTrimmed(controls[j])) { Control control = BuildControl(controls[j], qbc); QAT.AddChild(control.CreateComponentForDisplayMode("Small")); } } return(QAT); }
internal void BuildQATFromData(object dataNode, QATBuildContext qbc) { DataQueryResult dqr = new DataQueryResult(); dqr.Success = true; dqr.QueryData = dataNode; dqr.ContextData = qbc; OnReturnQAT(dqr); }
/// <summary> /// This method executes the build process /// </summary> /// <param name="qatId">The CUI ID for this QAT</param> /// <returns>The QAT object</returns> public bool BuildQAT(string qatId) { if (InQuery) return false; if (IsIdTrimmed(qatId)) return true; /* no error, so return true */ QATBuildContext qbc = new QATBuildContext(); qbc.QATId = qatId; InQuery = true; DataQuery query = new DataQuery(); query.TabQuery = false; query.Id = qbc.QATId; query.QueryType = DataQueryType.Root; query.Handler = new DataReturnedEventHandler(OnReturnQAT); query.Data = qbc; DataSource.RunQuery(query); return true; }
private void OnReturnQAT(DataQueryResult dqr) { QATBuildContext qbc = (QATBuildContext)dqr.ContextData; // Apply any extensions to the data. dqr.QueryData = ApplyDataExtensions(dqr.QueryData); QAT = BuildQATInternal(DataNodeWrapper.GetFirstChildNodeWithName(dqr.QueryData, DataNodeWrapper.QAT), qbc); QAT.QATBuilder = this; BuildClient.OnComponentCreated(QAT, QAT.Id); if (QATBuildOptions.AttachToDOM) { QAT.AttachInternal(true); } else { QAT.RefreshInternal(); Placeholder.AppendChild(QAT.ElementInternal); Utility.EnsureCSSClassOnElement(Placeholder, "loaded"); } OnRootBuilt(QAT); BuildClient.OnComponentBuilt(QAT, QAT.Id); }
private QAT BuildQATInternal(object data, QATBuildContext qbc) { if (CUIUtility.IsNullOrUndefined(data)) throw new ArgumentNullException("No QAT element was present in the data"); QAT = new QAT(DataNodeWrapper.GetAttribute(data, "Id"), DataNodeWrapper.GetNodeAttributes(data).To<QATProperties>()); // Handle the controls in the QAT // The XML structure looks like <QAT><Controls><Control></Control><Control></Control>... JSObject controlsParent = DataNodeWrapper.GetFirstChildNodeWithName(data, DataNodeWrapper.CONTROLS); JSObject[] controls = DataNodeWrapper.GetNodeChildren(controlsParent); for (int j = 0; j < controls.Length; j++) { if (!IsNodeTrimmed(controls[j])) { Control control = BuildControl(controls[j], qbc); QAT.AddChild(control.CreateComponentForDisplayMode("Small")); } } return QAT; }